Я пытаюсь преобразовать WebClient
Я использовал для проекта Win7
в HttpClient
, чтобы использовать его в моей системе Win8.1
.Преобразование WebClient в HttpClient
WenClient:
public static void PastebinSharp(string Username, string Password)
{
NameValueCollection IQuery = new NameValueCollection();
IQuery.Add("api_dev_key", IDevKey);
IQuery.Add("api_user_name", Username);
IQuery.Add("api_user_password", Password);
using (WebClient wc = new WebClient())
{
byte[] respBytes = wc.UploadValues(ILoginURL, IQuery);
string resp = Encoding.UTF8.GetString(respBytes);
if (resp.Contains("Bad API request"))
{
throw new WebException("Bad Request", WebExceptionStatus.SendFailure);
}
Console.WriteLine(resp);
//IUserKey = resp;
}
}
И это мой первый выстрел на HttpClient
public static async Task<string> PastebinSharp(string Username, string Password)
{
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Add("api_dev_key", GlobalVars.IDevKey);
client.DefaultRequestHeaders.Add("api_user_name", Username);
client.DefaultRequestHeaders.Add("api_user_password", Password);
using (HttpResponseMessage response = await client.GetAsync(GlobalVars.IPostURL))
{
using (HttpContent content = response.Content)
{
string result = await content.ReadAsStringAsync();
Debug.WriteLine(result);
return result;
}
}
}
}
Мои HttpRequest
возвращает Bad API request, invalid api option
в то время как мой WebClient
возвращает успешный ответ.
Как это сделать?
Я понимаю, я, конечно, добавляя заголовки вместо запроса, но я понятия не имею, как добавить запросы ...
Благодарим за помощь. Однако у меня такой же результат. 'Плохой запрос API, неверный api_option' –
Можете ли вы предоставить дамп запроса, отправленного на сервер. (С скрипачом или другим способом). Но ответ на этот вопрос решает вашу проблему или нет? – Kalten
Он сделал это, не обратил внимания на вашу ошибку опечатки и имел неправильный URL. Спасибо. Ты спас меня от 3-х часового поиска и большой боли в голове. Я был недалеко от этого, но я обернулся. Большое спасибо –