给你弄个Excel Vba的试试看:Sub test() On Error Resume Next With CreateObject("microsoft.xmlhttp") .Open "GET", "http://p.3.cn/prices/mgets?skuIds=J_482589,J_334634,J_429084,J_713807,J_277578,J_562252,J_713813,J_749365,J_713802,J_219847,J_482591,J_766938,J_402376,J_148867,J_347294,J_277577,J_171255,J_184185,J_277576,J_406762,J_732164,J_837944,J_561600,J_176100,J_481747,J_713853,J_256391,J_481816,J_713849,J_481815,J_482590,J_597462,J_148871,J_135457,J_835922,J_407405&type=1", False .Send str1 = "a=" & .responseText With CreateObject("MSScriptControl.ScriptControl") .Language = "JScript" .AddCode str1 n = .Eval("a.length") For p = 0 To n - 1 Cells(p + 1, 1) = .Eval("a[" & p & "].p") Cells(p + 1, 2) = .Eval("a[" & p & "].id") Next p End With End With End Sub
{
try
{
System.Net.ServicePointManager.DefaultConnectionLimit = 512;
System.GC.Collect();
System.Net.HttpWebRequest req = System.Net.HttpWebRequest.Create(url) as System.Net.HttpWebRequest;
req.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
req.Accept = "text/html, application/xhtml+xml, */*";
req.Headers.Add("Accept-Language", "zh-CN");
req.Headers.Add("Accept-Encoding: gzip, deflate");
System.Net.HttpWebResponse response = req.GetResponse() as System.Net.HttpWebResponse;
System.IO.Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("GB2312"));
string readhtml =reader.ReadToEnd();
stream.Close();
reader.Close();
if (response != null)
{
response.Close();
}
if (req != null)
{
req.Abort();
}
return readhtml;
}
catch (Exception ex)
{
SaveLog(ex.Message.ToString());
SaveLog("HTML下载:URL=" + url + ";MSG=" + ex.Message.ToString());
return "";
} }
Host的这个选项好像一设就会报错。好像是说不允许修改还是什么。
我不间断跑了10分钟,一点问题没有。
你ContentType设置上试试
我看图片中他定要的WebRequestModel好象是自己定义好的类。求解答!
我看图片中他定要的WebRequestModel好象是自己定义好的类。求解答!
Host属性是.NET Framework4.0以后才有的。以前的版本无法使用。你可以
req.Headers.Add("Host","xxx")
我看图片中他定要的WebRequestModel好象是自己定义好的类。求解答!
Host属性是.NET Framework4.0以后才有的。以前的版本无法使用。你可以
req.Headers.Add("Host","xxx") 谢谢,确实4.0里面才有的。
On Error Resume Next
With CreateObject("microsoft.xmlhttp")
.Open "GET", "http://p.3.cn/prices/mgets?skuIds=J_482589,J_334634,J_429084,J_713807,J_277578,J_562252,J_713813,J_749365,J_713802,J_219847,J_482591,J_766938,J_402376,J_148867,J_347294,J_277577,J_171255,J_184185,J_277576,J_406762,J_732164,J_837944,J_561600,J_176100,J_481747,J_713853,J_256391,J_481816,J_713849,J_481815,J_482590,J_597462,J_148871,J_135457,J_835922,J_407405&type=1", False
.Send
str1 = "a=" & .responseText
With CreateObject("MSScriptControl.ScriptControl")
.Language = "JScript"
.AddCode str1
n = .Eval("a.length")
For p = 0 To n - 1
Cells(p + 1, 1) = .Eval("a[" & p & "].p")
Cells(p + 1, 2) = .Eval("a[" & p & "].id")
Next p
End With
End With
End Sub