标签: downloadstring

如何限制允许的DownloadString(url)时间为500毫秒?

我正在写一个程序,当textBox1改变时:

URL = "http://example.com/something/";
URL += System.Web.HttpUtility.UrlEncode(textBox1.Text);
s = new System.Net.WebClient().DownloadString(URL);
Run Code Online (Sandbox Code Playgroud)

我想限制允许的DownloadString(URL)时间为500毫秒.如果超过,取消它.

c# time limit downloadstring

16
推荐指数
2
解决办法
2万
查看次数

如何在C#中执行System.Web.Script.Serialization?

我怎样才能在C#现代UI中做到这一点?

var url = "http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Fwww.digg.com%2Frss%2Findex.xml&v=1.0";
var wc = new WebClient();
var rawFeedData = wc.DownloadString(url);

//You can use System.Web.Script.Serialization if you don't want to use Json.NET
JavaScriptSerializer ser = new JavaScriptSerializer();
FeedApiResult foo = ser.Deserialize<FeedApiResult>(rawFeedData);

//Json.NET also return you the same strong typed object     
var apiResult = JsonConvert.DeserializeObject<FeedApiResult>(rawFeedData);
Run Code Online (Sandbox Code Playgroud)

它给我在WebClient和错误中的错误 System.Web.Script.Serialization

c# json javascriptserializer downloadstring system.web

15
推荐指数
2
解决办法
4万
查看次数

DownloadStringAsync等待请求完成

我正在使用此代码来检索网址内容:

private ArrayList request(string query)
{
    ArrayList parsed_output = new ArrayList();

    string url = string.Format(
        "http://url.com/?query={0}",
        Uri.EscapeDataString(query));

    Uri uri = new Uri(url);

    using (WebClient client = new WebClient())
    {
        client.DownloadStringAsync(uri);
    }

        // how to wait for DownloadStringAsync to finish and return ArrayList
    }
Run Code Online (Sandbox Code Playgroud)

我想使用DownloadStringAsync因为DownloadString挂起应用程序GUI,但我希望能够返回结果request.我怎么能等到DownloadStringAsync完成请求?

c# asynchronous request httprequest downloadstring

12
推荐指数
2
解决办法
3万
查看次数

无法解析的StackExchange API响应

我编写了一个小程序来分析StackExchange API中的配置文件数据,但是api会向我发送unsarse-/unreadable数据.

收到的数据:(使用c#自行下载)

\ u001f\B\0\0\0\0\0\U0004\0mRMo0\F /:d $ C'^ {/\u0006\u0018G> \我\ u0015\U0004݀d> GRL'o\u0004G%JP\u001c-EM> 0Xbm〜\u0018tk\u0014M] rdLGv0〜FJ = 1\u00031I> kTRA \"(/ +; NL\u0018 2 H\u0014P藄XaLw#3\U0002 +\u007f\u0010\u000fp】v\u007f \吨ڧ\nf "\ u0018 \00ƺ 1x#j ^- c AX\t \u001aT @ qj \u001aU7 \u0014 \"\ a ^ \b #\ u001eQG%Y \吨חq00K\AV\u0011 {ظ\ u0005 \"\ u001d + |\u007f'\ u0016〜 8\u007f\U0001-H] O\u007fVo\u007f\U0001〜Y\U0003\U0002\0\0

想要的数据:(从我的浏览器复制粘贴)

{ "物品":[{ "badge_counts",{ "青铜":987, "银":654, "金":321}, "ACCOUNT_ID" 123456789 "is_employee":假"LAST_MODIFIED_DATE":1250612752" last_access_date ":1250540770,"年龄":0," reputation_change_year ":987," reputation_change_quarter ":654," reputation_change_month ":321," reputation_change_week ":98," reputation_change_day ":76,"信誉":9876," CREATION_DATE" :1109670518,"user_type":"registered","user_id":123456789,"accept_rate":0,"location":"Australia","website_url":" http://example.org ","link":" …

c# webclient downloadstring stackexchange-api

8
推荐指数
1
解决办法
1752
查看次数

WebClient DownloadString没有返回任何内容

我想从Pirate Bay的Search查询中获取源代码,我在我的代码中有这个,但它没有返回任何内容:

WebClient webpage = new WebClient();
string source=  webpage.DownloadString("http://thepiratebay.sx/search/documentary/0/99/0");
Run Code Online (Sandbox Code Playgroud)

c# webclient downloadstring

6
推荐指数
1
解决办法
2万
查看次数

如何在不阻止UI的情况下使用WebClient?

有人能指点我一个教程或提供一些示例代码来调用System.Net.WebClient().DownloadString(url)方法而不会在等待结果时冻结UI吗?

我认为这需要用线程来完成?是否有一个简单的实现我可以使用没有太多的开销代码?

谢谢!


实现了DownloadStringAsync,但UI仍然处于冻结状态.有任何想法吗?

    public void remoteFetch()
    {
            WebClient client = new WebClient();

            // Specify that the DownloadStringCallback2 method gets called
            // when the download completes.
            client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(remoteFetchCallback);
            client.DownloadStringAsync(new Uri("http://www.google.com"));
    }

    public void remoteFetchCallback(Object sender, DownloadStringCompletedEventArgs e)
    {
        // If the request was not canceled and did not throw
        // an exception, display the resource.
        if (!e.Cancelled && e.Error == null)
        {
            string result = (string)e.Result;

            MessageBox.Show(result);

        }
    }
Run Code Online (Sandbox Code Playgroud)

c# multithreading webclient downloadstring

5
推荐指数
1
解决办法
2297
查看次数

WebClient下载字符串(几个字符页面)太慢了

我正在尝试从URL下载字符串.不幸的是,它很慢.

这是我的代码:

    // One of these types for two bad solutions anyway
    // byte[] result = new byte[12];
    // string result;
    using (var webClient = new System.Net.WebClient())
    {
        String url = "http://bg2.cba.pl/realmIP.txt";
        //result = webClient.DownloadString(url); // slow as hell
        //webClient.OpenRead(url).Read(result, 0, 12); // even slower
    }
Run Code Online (Sandbox Code Playgroud)

这需要大约4-5秒,这对我来说似乎非常不合适......

此网址的内容为IP

 XX.YYY.ZZ.FF
Run Code Online (Sandbox Code Playgroud)

c# performance webclient downloadstring

4
推荐指数
1
解决办法
5158
查看次数

C#从巨大的网址列表中下载数据

我有一个巨大的网页列表,显示一个状态,我需要检查.一些网址位于同一网站内,另一个网址位于另一个网站上.

现在我正试图通过使用下面的代码以并行的方式做到这一点,但我觉得我造成了太多的开销.

while(ListOfUrls.Count > 0){
  Parallel.ForEach(ListOfUrls, url =>
  {
    WebClient webClient = new WebClient();
    webClient.DownloadString(url);
    ... run my checks here.. 
  });

  ListOfUrls = GetNewUrls.....
}
Run Code Online (Sandbox Code Playgroud)

这可以用更少的开销完成,并且可以更多地控制我使用/重用的Web客户端和连接数量吗?那么,最终工作可以更快完成吗?

c# parallel-processing webclient downloadstring parallel.foreach

3
推荐指数
1
解决办法
5108
查看次数

C#字符串操作

我正在开发一个从页面上的文本文件中获取文本的应用程序. 示例链接: http ://test.com/textfile.txt

该文本文件包含以下文本:

1 Milk Stuff1.rar
2 Milk Stuff2.rar
3 Milk Stuff2-1.rar
4 Union Stuff3.rar
Run Code Online (Sandbox Code Playgroud)

我想要做的是如下,删除每一行的所有内容,除了以'Stuff'开头并以'.rar'结尾的"单词".

问题是,大多数简单的解决方案,比如使用.Remove,.Split或.Replace都会失败.这是因为,例如,使用空格格式化字符串最终返回:

1
Milk
Stuff1.rar\n2
Milk
Stuff2.rar\n3
Milk
Stuff2-1.rar\n4
Union
Stuff3.rar\n
Run Code Online (Sandbox Code Playgroud)

我敢打赌,它并不像看起来那么难,但我会帮助你给予我任何帮助.

Ps:为了清楚起见,这就是我希望它返回的内容:

Stuff1.rar
Stuff2.rar
Stuff2-1.rar
Stuff3.rar
Run Code Online (Sandbox Code Playgroud)

我目前正在使用此代码:

            client.HeadOnly = true;
            string uri = "http://test.com/textfile.txt"; 

            byte[] body = client.DownloadData(uri);
            string type = client.ResponseHeaders["content-type"]; 
            client.HeadOnly = false; 

            if (type.StartsWith(@"text/")) 
            {
                string[] text = client.DownloadString(uri);

                foreach (string word in text)
                {
                    if (word.StartsWith("Patch") && word.EndsWith(".rar"))
                    {
                        listBox1.Items.Add(word.ToString());
                    }
                }
            }
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,但你明白了.

先感谢您!

c# regex web-applications .net-3.5 downloadstring

2
推荐指数
1
解决办法
235
查看次数

DownloadString和特殊字符

我试图在使用webclient和下载字符串从网站下载的字符串中找到Mauricio的索引.但是,在网站上它包含一个外国人物Maurício.所以我在别处找到了一些代码

string ToASCII(string s)
{
return String.Join("",
     s.Normalize(NormalizationForm.FormD)
    .Where(c => char.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark));
}
Run Code Online (Sandbox Code Playgroud)

转换外国字符.我测试了代码并且它可以工作.所以我遇到的问题是,当我下载字符串时,它会下载为MaurA-cio.我试过了两个

wc.Encoding = System.Text.Encoding.UTF8; wc.Headers.Add("Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7");

也没有阻止它作为MaurA-cio下载.

(另外,我无法更改搜索,因为我从列表中获取搜索词).

我还能尝试什么?谢谢

c# webclient downloadstring

2
推荐指数
1
解决办法
2144
查看次数

C# NET.WebClient DownloadString() 问题 - 页面重定向

我有这个问题 - 我正在编写一个简单的网络蜘蛛,到目前为止效果很好。问题是我正在工作的网站有一个令人讨厌的习惯,有时会重定向或向地址添加内容。在某些页面中,它会在加载后添加“/about”,而在某些页面上,它会完全重定向到另一个页面。Web 客户端会感到困惑,因为它下载了 html 代码并开始解析链接,但由于其中许多链接的格式为“../../something”,所以一段时间后它就会崩溃,因为它根据以下内容计算链接第一个给定地址(在重定向或添加“/about”之前)。当新创建的页面从队列中出来时,它会抛出 404 Not Found 异常(令人惊讶)。

现在我可以自己将“/about”添加到每个页面,但是对于狗屎和傻笑,网站本身并不总是添加它......

我将不胜感激任何想法。感谢您抽出宝贵时间,祝一切顺利!

c# webclient web-crawler downloadstring

1
推荐指数
1
解决办法
1980
查看次数

C#/为什么Get html会返回随机垃圾字符?

我有这个为ex: Link

这段代码:

const String nick = "Alex";
const String log = "http://demonscity.combats.com/zayavka.pl?logs=";
foreach (DateTime cd in dateRange)
{
string str = log + String.Format("{0:MM_dd_yy}", cd.Date) + "&filter=" + nick;
String htmlCode = wc.DownloadString(str);
}
Run Code Online (Sandbox Code Playgroud)

返回一些东西...."<\ b\0\0\0\0\0 \0я•XYsЫЦ~зЇёѕ™d)bг.тBҐ$ЪRЖ'<2УN&сh@р'"\ f\0J--_Фџђ§¤ нt|г6ќѕУЄђ0'IQtТґcμо№X(jі-Щ/Ђі|?g`yҐц"

其他链接工作正常.我认为问题在于代码页,我该如何解决?或者是服务器问题?

c# encoding webclient downloadstring

0
推荐指数
1
解决办法
2689
查看次数