-1

以下のサンプルのように URL をヒットしています。

http://mobile.example.com/ip/someProduct-fl-oz/productID

そして私のリクエストは:

    public static string getMobileHtml(string url)
    {
        string responseData = "";
        try
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Accept = "text/html, application/xhtml+xml, */*";
            request.KeepAlive = true;
            request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
            request.Timeout = 10000;
            request.Host = "mobile.example.com";
            request.Method = "GET";

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            if (response.StatusCode == HttpStatusCode.OK)
            {
                Stream responseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(responseStream);
                responseData = myStreamReader.ReadToEnd();
            }
            response.Close();
        }
        catch (Exception e)
        {
            responseData = "An error occurred: " + e.Message;
        }
        return responseData;
    }

そして、コードはオンラインでクラッシュします:

 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

例外なく壊れるだけで、同じことが で起こってCurl Libいましたが、修正されると仮定してWebClient変更しました。HttpWebRequest助言がありますか?

4

1 に答える 1

0

投稿されたコードをテストして、HttpWebRequest が正常に作成された後、応答行で失敗しましたが、私の場合は、ファイアウォールの背後にいて、資格情報を提供しなかったためです。

この問題は Fiddler がテストに影響を与えていると診断されたので、閉じると問題が解決します

于 2013-08-22T20:11:54.813 に答える