HttpWebRequest типа "GET" возвращает ошибку 400 - PullRequest
1 голос
/ 08 сентября 2011

Кажется, что встречается только одна машина и ни одна из других машин.

HttpWebRequest myRequest =(HttpWebRequest)WebRequest.Create("https://connect.zystemsgo.com/auto/");
        myRequest.Method = "GET";
        SetCertificatePolicy();
        Application.DoEvents();
        WebResponse myResponse = myRequest.GetResponse();
        StreamReader sr = new StreamReader(myResponse.GetResponseStream(),System.Text.Encoding.UTF8);
        string result = sr.ReadToEnd();

Я попытался найти другие 400 ошибок запроса, но это не ясно.Как мне отладить это?

Ответы [ 4 ]

2 голосов
/ 08 сентября 2011

Ошибка HTTP 400 означает неверный запрос.Это возвращается сервером.

Обычно, когда я отлаживаю HTTP-запросы, я использую Fiddler , чтобы отслеживать запросы и ответы и выяснять, что происходит.Это никогда не подводит.

1 голос
/ 08 сентября 2011

(не совсем ответ, но слишком большой для комментария)

Для этого я запустил следующий код Python (слишком ленив, чтобы раскрутить C # :), и он работал нормально:

import httplib
conn = httplib.HTTPSConnection('connect.zystemsgo.com')
conn.request('GET', '/auto/')
resp = conn.getresponse()
data = resp.read()
print data           # expected ouput, just like visiting in a browser
print resp.status    # 200

Вы уверены, что показываете URL, который на самом деле не работает, или ваш код является более общим примером?

Возможно, сертификат сервера не установлен на этой машине? Я не ожидал бы HTTP 400 в этом случае, но это единственное, что я могу думать до сих пор ...

0 голосов
/ 08 сентября 2011

Код, который я указал в комментарии выше, работает. WebClient webClient = new WebClient (); webClient.DownloadFile («Ваш полный URL-адрес для файла», @ «c: \ myfile.txt»);

вам необходимо иметь разрешение на запись в каталог по вашему выбору.

Вы также можете попробовать использовать асинхронную загрузку, если хотите. Я не понимаю, почему она не будет работать на определенной машине.

0 голосов
/ 08 сентября 2011

плохая ошибка запроса. В запросе нет параметров?Можете ли вы опубликовать ответное сообщение, оно даст некоторое представление о том, что идет не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...