如题.
我要访问对方提供的一个地址以获得返回的xml.对方给我的代码是java的,其中有:
 HttpClient client = new HttpClient();      client.getState().setCredentials(
         new AuthScope("localhost", 8080, null),
         new UsernamePasswordCredentials(username, password)
     );他用java里的httpClient,我在c#里该怎么做?
用webrequest么 ?那怎么设置用户/密码?

解决方案 »

  1.   

    老大啊老大.能不能给一段sample Code,急需啊...真不好意思 ,没搞过这个.
      

  2.   

    System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("http://localhost:8080/default.jsp?username=aaa&password=bbb");
    System.Net.HttpWebResponse response = request.GetResponse();
      

  3.   

    java里的这一段设置请求用户名/密码的
    UsernamePasswordCredentials(username, password)
    可以这么简单的用("http://localhost:8080/default.jsp?username=aaa&password=bbb");
    代替么?楼上可确信啊?
      

  4.   

    可以,但是不一定叫username,和password. 要看那个default.jsp里用来放用户名和密码的2个<input ...>  分别叫什么.
      

  5.   

    看看UsernamePasswordCredentials中对username和password的值是用那个名称传送的?直接在URL后传递的.
      

  6.   

    ?
    WebRequest HttpWReq = WebRequest.Create("http://localhost:8080/default.jsp");
    Byte[] byte1 =  System.Text.Encoding.GetEncoding("GB2312").GetBytes("username=aaa&password=bbb");
    HttpWReq.ContentType = "application/x-www-form-urlencoded";
    HttpWReq.ContentLength = byte1.Length;//XMLDoc.OuterXml.Length;
    HttpWReq.Method = "POST";
    System.IO.Stream StreamData = HttpWReq.GetRequestStream();
    StreamData.Write(byte1,0,byte1.Length);
    StreamData.Close();
    WebResponse HttpWRes = HttpWReq.GetResponse();
    System.IO.Stream receiveStream = HttpWRes.GetResponseStream();
      

  7.   

    http://localhost:8080/default.jsp?username=a&password=b
      

  8.   

    CredentialCache myCache = new CredentialCache();myCache.Add(new Uri("http://www.test.com/"),"Basic",new NetworkCredential(UserName,SecurelyStoredPassword));
    myCache.Add(new Uri("http://www.test.com/"),"Digest", new NetworkCredential(UserName,SecurelyStoredPassword,Domain));wReq.Credentials = myCache;