- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到了一个奇怪的情况。我有一种方法可以下载如下页面:
public static bool DownloadPageContent(string url,
out string content,
ref int statusCode,
CookieContainer cookie = null,
int maxAttempt = 1,
Encoding encoding = null)
{
int i = 0;
using (var client = new CookieAwareWebClient())
{
if (encoding != null)
client.Encoding = encoding;
while (i < maxAttempt)
{
try
{
i++;
if (cookie != null)
client.CookieContainer = cookie;
client.Headers.Add("user-agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");
content = client.DownloadString(url);
statusCode = 200;
return true;
}
catch(WebException ex)
{
/* some error handling code*/
_logger.Log(LogLevel.Error, ex);
}
catch (Exception ex)
{
_logger.Log(LogLevel.Error, ex);
}
}
content = "";
return false;
}
这是 StackTrace
,它发生在 content = client.DownloadString(url)
行中:
System.Net.WebException: Can't connect to remote server ---> System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions xxx.xxx.xxx:80] System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +208ı xxx.xxx.xxx:80 konum: System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) konum: System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- İç özel durum yığını izlemesinin sonu --- konum: System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) konum: System.Net.WebClient.DownloadString(Uri address) konum: System.Net.WebClient.DownloadString(String address) konum: Kokoshome_Product_Downloader.Helpers.SiteHelpers.DownloadPageContent(String url, String& content, Int32& statusCode, CookieContainer cookie, Int32 maxAttempt, Encoding encoding)
奇怪的是,如果我打开 Fiddler2
并运行该程序,它运行良好!这段代码曾经有效,我一直在使用 Fiddler
一段时间以来,据我所知,我没有更改任何选项。但是现在出了点问题,我无法弄清楚。那么可能是什么问题呢?
注意:我的互联网连接没有其他问题。我可以在没有 Fiddler
的情况下连接互联网。我的操作系统是 Windows 8.1
。
更新
当我尝试连接 MySQL
数据库和 FTP
服务器时,我遇到了同样的异常。这也不适用于 Fiddler
.我做了一些研究,并在 Windows Sockets Error Codes 中找到了有关错误的信息。
WSAEACCES 10013
Permission denied. An attempt was made to access a socket in a way forbidden by its access permissions. An example is using a broadcast address for sendto without broadcast permission being set using setsockopt(SO_BROADCAST). Another possible reason for the WSAEACCES error is that when the bind function is called (on Windows NT 4.0 with SP4 and later), another application, service, or kernel mode driver is bound to the same address with exclusive access. Such exclusive access is a new feature of Windows NT 4.0 with SP4 and later, and is implemented by using the SO_EXCLUSIVEADDRUSE option.
但我仍然不知道如何修复它。
最佳答案
在几乎所有情况下,这意味着您的防火墙正在阻止您的程序访问网络。当您使用 Fiddler 时,请求会在前往 Fiddler 的途中绕过防火墙,然后绕过防火墙,因为您拥有允许 Fiddler 访问 Internet 的防火墙豁免。
关于c# - 如果不打开 Fiddler,为什么在下载页面时会出现 SocketException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28779955/
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我想知道是否可以只在某些进程上使用 Fiddler2,而不是在所有使用系统代理设置的应用程序上。我知道 Fiddler2 中有一个过滤器选项,但据我所知,它只隐藏信息并且无论如何都会捕获流量。 最佳答
我有以下要求: 我需要从命令行启动 Fiddler。它将立即开始捕获我的流量。一段时间后,我想停止捕获流量,但不想关闭 Fiddler。 实现这一目标的最佳方法是什么?我已经探索了 Fiddler 的
我有以下要求: 我需要从命令行启动 Fiddler。它将立即开始捕获我的流量。一段时间后,我想停止捕获流量,但不想关闭 Fiddler。 实现这一目标的最佳方法是什么?我已经探索了 Fiddler 的
在 fiddler 中,如何在请求到达主机之前终止请求。例如,我发送了一个请求,我想在该请求中放置一个断点,这样我就无法接收到响应。基本上,我想在将响应返回给原始调用者之前检查响应,以及如果连接丢失或
Fiddler 指定了两个选项将其用作反向代理。 选项1: Fiddler can be configured so that any traffic sent to http://127.0.0.1
当我打开 fiddler 时,可以捕获来自浏览器的HTTP流量。 我使用.net HttpWebRequest编写了一个程序,也可以捕获流量。 同样使用python urllib2,fiddler捕获
当您使用 URL ipv4.fiddler 时,我很好奇 fiddler 是如何捕获流量的。 ipv4 是解析本地的特殊域,fiddler 只是向 http.sys 注册以代理调用吗? 任何见解都会很
fiddler response 当我点击解码时,我得到了解码后的消息,但我在哪里可以找到编码类型,以便我可以手动解码消息或获取更多信息? 最佳答案 我正在使用 fiddler 版本:v5.0.202
是否可以指示 Fiddler 仅显示定向到特定主机名的流量?也就是说Fiddler流量可以针对Host进行过滤吗? 最佳答案 请参阅此屏幕截图。位于屏幕的右上方 关于fiddler - 过滤 Fidd
我正在尝试通过 fiddler 路由我的soapUI Web 服务请求,但它似乎不起作用。我尝试过类似的网址 http://localhost./myservice/myservice.asmx ht
我正在使用 Fiddler,想要模拟不同的网络速度 是否有任何已发布的数据可供我使用延迟值来模拟不同的速度? 以下是 Fiddler 模拟 56kb 调制解调器速度的默认代码。 if (m_Simul
我面临的问题几乎类似于以下线程: Unable to control the network bandwidth using fiddler in spite of custom rules? 我想按
在 this question的评论,EricLaw (Fiddler 的作者)写道: Fiddler has lots of interesting features, but not all of
我在一台服务器向另一台服务器发送数据时遇到问题,所以我想:让我们调试一下。我可以设置代理,那么为什么不使用 Fiddler?因此,我通过将主机设置为我计算机的 IP (192.168.2.111) 并
如何在 Fiddler 中使用正则表达式重定向到 URL? If URL mathes regex:(?insx)^http://www.(.*)$ respond to http://proxy.e
Fiddler中这个图标是什么意思: 它未在 help 中列出. 最佳答案 此图标用于回复 Content-Type=Content-Type: text/html; 关于fiddler - 蓝色<>
fiddler“Composer”选项卡的“options”子选项卡让您可以将 Composer 撕成一个 float 窗口。问题是怎么放回去?我失去了 float 窗口,现在 fiddler 的 C
我已经按照以下链接使用 ServiceStack(客户示例)构建了一个服务:https://docs.google.com/present/view?id=dg3mcfb_213gsvvmmfk 当我
通常,我们通过 Fiddler 捕获了太多的请求,但是使用 POST 方法的请求最终是我们想要的。 有什么方法可以使用 提取/过滤/这些请求发布 方法,换句话说,显示 发布 仅请求。 我已经阅读了 F
我是一名优秀的程序员,十分优秀!