Tag: webrequest

登录失败:未知的用户名或密码错误? 但我使用正确的用户名和密码

我想在远程服务器中连接xml文件。 我写了这样的代码: string XMLPATH = @”\\10.222.54.141\c$\Data\CL\Casinolink30\BuildFiles\Logging\980\NoLog4NetFile.UnitTest.Tests.nunit-results.xml”; FileWebRequest request = (FileWebRequest)FileWebRequest.Create(XMLPATH); request.Credentials = new NetworkCredential(“administrator”, “Igtcorp123”); FileWebResponse response = request.GetResponse() as FileWebResponse; Stream stReader = response.GetResponseStream(); XmlTextReader reader = new XmlTextReader(stReader); int count = 100; while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element) { if (reader.Name == “test-case”) { //Console.WriteLine(“testcase name:” + reader.GetAttribute(“name”)); Console.WriteLine(“testcase info”); Console.WriteLine(“name: ” […]

如何避免服务器错误414非常长的QueryString值

我有一个项目需要向网页发布一个250万字符的QueryString。 服务器本身只解析了5,400个字符或更少的URI。 在为WebRequest / WebResponse,WebClient和Sockets尝试了几组不同的代码之后,我终于找到了解决我问题的以下代码: HttpWebRequest webReq; HttpWebResponse webResp = null; string Response = “”; Stream reqStream = null; webReq = (HttpWebRequest)WebRequest.Create(strURL); Byte[] bytes = Encoding.UTF8.GetBytes(“xml_doc=” + HttpUtility.UrlEncode(strQueryString)); webReq.ContentType = “application/x-www-form-urlencoded”; webReq.Method = “POST”; webReq.ContentLength = bytes.Length; reqStream = webReq.GetRequestStream(); reqStream.Write(bytes, 0, bytes.Length); reqStream.Close(); webResp = (HttpWebResponse)webReq.GetResponse(); if (webResp.StatusCode == HttpStatusCode.OK) { StreamReader loResponseStream = […]

如何在.net上为WebClient设置TimeOut?

我下载了一些文件,但我也想为webclient设置超时。 正如我所看到的那样,我们可以使用重写WebRequest。 我已经做了但它没有用。 我的意思是重写GetWebRequest方法不起作用..这是我的代码 public class VideoDownloader : Downloader { /// /// Initializes a new instance of the class. /// /// The video to download. /// The path to save the video. public VideoDownloader(VideoInfo video, string savePath) : base(video, savePath) { } /// /// Starts the video download. /// public override void Execute() { // […]

Web请求超时处理?

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Timeout = 20000; using (WebResponse response = request.GetResponse()) using (var stream = response.GetResponseStream()) using (var reader = new StreamReader(stream)) { var result = reader.ReadToEnd(); // Do something with result } 在上面的例子中我定义了一个超时,如果碰巧超时,我怎么知道,结果是空的? 我收到任何响应类型吗? 我怎样才能确保我超时?

HttpWebRequest.GetRequestStream()在Windows 7 / Vista下的SSL连接上超时

我有一个C#windows应用程序(.Net 3.0 Framework),它使用HttpWebRequest调用PHP Web服务。 在Win 7和Vista中 ,如果通过非SSL(即http:// )进行调用,则代码可以正常工作。 当调用更改为调用链接的SSL(https :)版本时,它会在HttpWebRequest.GetRequestStream()超时。 每次都会发生这种情况 当在Windows XP计算机上运行相同的应用程序时,它可以正常使用HTTP或HTTPS URL。 代码确实接受了所有服务器证书代码。 另外,我添加了System.Net日志记录 。 它会写出日志,但因为数据包是加密的,除了Timeout abort语句之外你真的看不到多少。 我也尝试过Fiddler,但再加上加密数据包,我看不太多。 顺便说一句,当我尝试使用Fiddler2解密应用程序挂起时,这样就没有成功。 无论如何,任何帮助将不胜感激。 谢谢。 我会加: 我可以telnet到端口 我尝试以管理员身份运行应用程序 我试过Win XP兼容模式(尝试任何东西) 我已将连接代码单独添加到一个简单的独立应用程序中

WebRequest:如何使用针对此ContentType的WebRequest查找邮政编码=“application / xhtml + xml,text / xml,text / html; 字符集= UTF-8” ?

我首先发布了这个: HttpWebRequest:如何通过带有x-www-form-enclosed的WebRequest在Canada Post找到邮政编码? 。 根据AnthonyWJones的建议,我根据他的建议改变了我的代码。 继续我的询问,我已经注意到加拿大邮政的内容类型更可能是“application / xhtml + xml,text / xml,text / html; charset = utf-8” 。 我的问题是: 我们如何针对这样的内容类型网站进行webrequest? 我们是否必须继续使用NameValueCollection对象? 根据Scott Lance在我之前的问题中慷慨地向我提供了宝贵的信息,WebRequest应该返回任何内容类型的信息类型,我在这里遗漏了什么? 由于内容类型的变化,我是否必须更改我的代码? 这是我的代码,以便更容易理解我的进度。 internal class PostalServicesFactory { /// /// Initializes an instance of GI.BusinessSolutions.Services.PostalServices.Types.PostalServicesFactory class. /// internal PostalServicesFactory() { } /// /// Finds a Canadian postal code for the provided Canadian address. /// […]

WebRequest连接到Wikipedia API

这可能是一个非常简单的问题,但我似乎无法格式化web webrequest /响应以从Wikipedia API获取数据。 我已经在下面发布了我的代码,如果有人可以帮我看看我的问题。 string pgTitle = txtPageTitle.Text; Uri address = new Uri(“http://en.wikipedia.org/w/api.php”); HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest; request.Method = “POST”; request.ContentType = “application/x-www-form-urlencoded”; string action = “query”; string query = pgTitle; StringBuilder data = new StringBuilder(); data.Append(“action=” + HttpUtility.UrlEncode(action)); data.Append(“&query=” + HttpUtility.UrlEncode(query)); byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString()); request.ContentLength = byteData.Length; using (Stream postStream […]

从打开的HTTP流中读取数据

我正在尝试使用.NET WebRequest / WebResponse类来访问Twitter流API,这里是”http://stream.twitter.com/spritzer.json” 。 我需要能够打开连接并从打开的连接中逐步读取数据。 目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到整个响应被下载。 我知道有一个BeginGetResponse方法,但这只会在后台线程上做同样的事情。 我需要在下载仍然发生时访问响应流。 对于这些类,这对我来说似乎不太可能。 Twitter文档中有关于此的具体评论: “请注意,某些HTTP客户端库仅在服务器关闭连接后才返回响应主体。这些客户端不能用于访问Streaming API。您必须使用将以递增方式返回响应数据的HTTP客户端。最强大的HTTP客户端库将提供此function。例如,Apache HttpClient将处理此用例。“ 他们指向Appache HttpClient,但这没有多大帮助,因为我需要使用.NET。 是否可以使用WebRequest/WebResponse任何想法,或者我是否必须使用较低级别的网络类? 也许还有其他库可以让我这样做? 艾伦

如何计算HttpWebRequest花费的出站和入站互联网流量

我有以下function来获取页面。 我的问题是我想计算一下互联网连接的数量 入站(下载)和出站流量(已发送) 我怎样才能做到这一点 ? 谢谢 我的function public static string func_fetch_Page(string srUrl, int irTimeOut = 60, string srRequestUserAgent = “Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0”, string srProxy = null) { string srBody = “”; string srResult = “”; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(srUrl); request.Timeout = irTimeOut * 1000; request.UserAgent = srRequestUserAgent; request.KeepAlive […]

如何使用WebRequest来发布一些数据并读取响应?

需要让服务器对API进行POST,如何将POST值添加到WebRequest对象以及如何发送它并获得响应(它将是一个字符串)? 我需要POST两个值,有时候更多,我在这些例子中看到它表示字符串postData =“要发布的字符串”; 但是我怎么让我发布的东西知道有多个表单值?