He pasado un buen rato ahora configurando mi proxy. Por el momento, uso un servicio llamado proxybonanza. Me proporcionan un proxy que utilizo para buscar páginas web.Proxy funciona localmente pero falla cuando se carga en el host web
estoy usando HTMLAGILITYPACK
Ahora si me quedo mi código sin un proxy no hay problema a nivel local o cuando se envían al servidor de hosting.
Si decido usar el proxy, tarda un poco más pero funciona de forma local.
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"
He estado depurando esto desde hace mucho tiempo.
Mi app.config tiene dos entradas que son relevantes para este
httpWebRequest useUnsafeHeaderParsing="true"
httpRuntime executionTimeout="180"
Eso me ayudó a través de un par de problemas.
Ahora este es mi código 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
}
¿Qué estoy haciendo mal? He habilitado el rastreador en la aplicación, pero no consigo iniciar sesión en mi servidor web ...?
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>
¿Alguien puede detectar el problema esto lo he ajuste de encendido y apagado como mil veces ..
request.KeepAlive = false;
System.Net.ServicePointManager.Expect100Continue = false;
Carl
¿Ha permitido la solicitud web en la configuración de su aplicación? ¿O tal vez se olvidó de permitir el tipo mimet? ¿Qué tipo de servidor estás alojando? – wegginho
@wegginho Im en un host compartido.No tengo VPS solo una cuenta estándar de alojamiento web con la plataforma asp.net 4.0. – 8bitcat
Eso está absolutamente bien. Puede hacer todas las configuraciones que normalmente le haría al IIS dentro de su web.config. La pequeña diferencia es que cada vez que guarda o publica el archivo web.config, la aplicación se reinicia. – wegginho