0

我有一个包含超过 2,50,000 个网站 URL 的文本文档。浏览每个 URL,如果它把我重定向到一个特定的 URL(不同的站点),我想将它保存到另一个文本文件中。

我是 C# 开发人员,我知道如何读取或写入文件和小片段,但正在寻找最好的逻辑或方法来用任何编程语言完成上述任务和脚本。

4

2 回答 2

5
string url = "http://www.google.com";
var req = (HttpWebRequest)HttpWebRequest.Create(url);
req.AllowAutoRedirect = false;

using (var resp = req.GetResponse())
{
    var location = resp.Headers["Location"];
    if (!String.IsNullOrEmpty(location))
    {
        Console.WriteLine("url is redirected to " + location);
    }
}
于 2012-09-08T09:27:41.753 回答
2

使用 bash 脚本。就像是

#!/bin/bash

$SITESFILE=/path/to/your/input/file
$OUTPUTFILE=/path/to/your/output/file
$TARGETURL=http://where.to/redirect

for SITE in `cat $SITESFILE`; do
  REDIRHEADER=`curl -i $SITE | head -n15 | grep -i 'Location: $TARGETURL'`
  test -n "$REDIRHEADER" && echo $SITE >> $OUTPUTFILE
done;

您将需要安装 cURL。

于 2012-09-08T09:29:46.647 回答