2
我正在使用siteripper/screenscraper查找皇家郵件網站上的跟蹤信息。不幸的是,皇家郵政不支持API,所以這是做到這一點的方法。從HTTPS站點下載數據時出現異常
無論我做什麼,我總是收到相同的異常。 (遠程服務器返回錯誤:(500)內部服務器錯誤)
我的基本代碼是:
class Program
{
static void Main(string[] args)
{
string url = "http://track.royalmail.com/portal/rm/track?catId=22700601&gear=authentication&forcesegment=SG-Personal";
byte[] response;
WebClient webClient = new WebClient();
response = webClient.DownloadData(url);
}
}
我已經使用小提琴手,調查通過我的瀏覽器中所作的數據交易爲了模仿我的代碼。我可以看到英國皇家郵政使用cookies,所以我試圖實現,它通過添加cookie處理程序,以支持餅乾的WebClient:
public class CookieAwareWebClient : WebClient
{
private CookieContainer m_container = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = m_container;
}
return request;
}
}
但是這並沒有幫助eather :-(
我有還嘗試通過Royal Mails SSL保護網站(https://www.royalmail.com/portal/sme/track?catId=62200738&mediaId=63900708)查詢跟蹤信息,並將憑據寫入我的C#程序,但沒有運氣。
我現在遇到了牆,我一直碰到相同的教程/線程似乎不再幫助我。
我希望有一個輝煌的大腦在那裏:-)
非常感謝你的頭,它的工作原理就像一個冠軍! – chjortlund 2011-02-01 09:48:44