如何查找给定的URL是否将重定向或不使用任何脚本?

时间:2012-09-08 09:18:35

标签: c# php javascript html http

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

我是C#开发人员,我知道如何读取或写入文件和小块,但寻找最佳逻辑或方式以任何编程语言执行上述任务和脚本。

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分: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。