有些网站即使设置了标头也拒绝HttpClient请求

时间:2016-09-28 10:59:24

标签: c# .net dotnet-httpclient

我已经编写了一些代码来检查我的数据库中的所有网站是否仍然是托管和在线的。

问题是这些网站中的一些似乎有机器人保护,每当我尝试通过HttpClient请求时,它们会引发错误而不是显示页面。

我已经看到其他类似的问题建议添加到浏览器标题中,所以我已经这样做但这没有帮助。相同的站点仍然拒绝HttpClient连接,但是当我在浏览器中查看它们时完全没问题。

我的代码是否有问题,还是需要一些额外的步骤?

这是我的代码:

public int search(long number) {

    int steps = 0;
    long initialNumber = number;
    while (number != 1) {
        if (number % 2 == 0) number /= 2;
        else number = 3 * number + 1
        steps++;

        if (foundNumbers.containsKey(number)) {
            steps += foundNumbers.get(number)
            foundNumbers.put(initialNumber, steps);
            return steps;
        }
    }

    foundNumbers.put(initialNumber, steps);
    return steps;

}

1 个答案:

答案 0 :(得分:0)

在发送请求之前设置标头。你在得到回复后正在做这些事

<Variable Name="LaunchTarget" Value="[InstallFolder]\executable_name.exe"/>