我花了很多時間配置我的代理。目前我使用一種名爲proxybonanza的服務。他們爲我提供了一個我用來獲取網頁的代理。代理在本地工作,但上傳到網絡主機時失敗
我使用HTMLAGILITYPACK
現在,如果我不使用代理服務器上運行我的代碼有本地或者上傳到虛擬主機提供商的服務器沒有問題。
如果我決定使用代理,它需要更長的時間,但它仍然可以在本地使用。
If I publish my solution to, to my webhost I get a SocketException (0x274c)
"A connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because connected host has
failed to respond 38.69.197.71:45623"
我一直在調試這個很長一段時間。
我的app.config有兩個條目是有關這個
httpWebRequest useUnsafeHeaderParsing="true"
httpRuntime executionTimeout="180"
,幫助我通過幾個問題。
現在這是我的C#代碼。
HtmlWeb htmlweb = new HtmlWeb();
htmlweb.PreRequest = new HtmlAgilityPack.HtmlWeb.PreRequestHandler(OnPreRequest);
HtmlDocument htmldoc = htmlweb.Load(@"http://www.websitetofetch.com,
"IP", port, "username", "password");
//This is the preRequest config
static bool OnPreRequest(HttpWebRequest request)
{
request.KeepAlive = false;
request.Timeout = 100000;
request.ReadWriteTimeout = 1000000;
request.ProtocolVersion = HttpVersion.Version10;
return true; // ok, go on
}
我在做什麼錯?我已經在appconfig中啓用了跟蹤器,但是我沒有在我的虛擬主機上登錄...?
Log stuff from app.config
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Verbose,ActivityTracing">
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
<source name="System.Runtime.Serialization" switchValue="Verbose,ActivityTracing">
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="App_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener" traceOutputOptions="Timestamp"/>
</sharedListeners>
</system.diagnostics>
任何人都可以發現這個問題我有這些設置和關閉像一千倍..
request.KeepAlive = false;
System.Net.ServicePointManager.Expect100Continue = false;
卡爾
您是否允許在您的應用程序配置上進行網絡請求?或者,也許你忘了讓mimetype?你託管什麼樣的服務器? – wegginho
@wegginho Im在共享的主人。我沒有VPS只是一個標準的webhosting帳戶與asp.net 4.0平臺。 – 8bitcat
這絕對沒問題。您可以在web.config中執行通常對IIS執行的每項設置。稍有不同的是,每次保存或發佈web.config時,應用程序都會重新啓動。 – wegginho