У меня есть webclient
, что вызывает к URL
, которая работает хорошо, когда я его просмотра в браузере, который привел меня к мысли, я бы нужно добавить заголовки в свой вызовWebclient Ошибка 404 протокол по уважительной URL с #
Я сделал это, но все еще получаю ошибку.
У меня есть и другие вызовы в том же API, которые работают хорошо, и проверили, что все параметры, которые я передаю через точно так же, как и ожидалось (случай, орфография)
using (var wb = new WebClient())
{
wb.Proxy = proxy;
wb.Headers.Add("Accept-Language", " en-US");
wb.Headers.Add("Accept", " text/html, application/xhtml+xml, */*");
wb.Headers.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
byte[] response = wb.UploadValues("http://myserver/api/account/GetUser",
new NameValueCollection()
{
{ "email", register.Email },
});
userDetails = Encoding.UTF8.GetString(response);
}
Кто-нибудь есть идея, почему я все еще получаю ошибку протокола при вызове, который отлично работает в браузере?
Пожалуйста, сообщите точную ошибку. –
все, что я получаю, это 404 не найден, и когда я открываю детали все, что он говорит, это ProtocolError – kingtreelo
Используйте сниффер, например, проводник или скрипач, чтобы сравнить веб-клиент с вашим кодом. Ошибка 404 может означать много разных вещей. Чтобы предотвратить проникновение хакеров на веб-сайты, часто 404 всегда возвращается, когда происходит сбой, и не дает точной причины отказа. – jdweng