有PHP的代码:
<?php
$info_hash = bin2hex($_GET["info_hash"]);
echo $info_hash
?>
我写的C#的代码:
protected void Page_Load(object sender, EventArgs e)
{
    string infohashStr = CurrentQueryStringUtility.GetString("info_hash");   //出错的地方在这里!!
    infohashStr = HashInfoHelper.StringToHex(infohashStr);
}public static string StringToHex(string str)
{       
    byte[] ByteFoo = System.Text.Encoding.Default.GetBytes(str);
    string TempStr = "";
    foreach (byte b in ByteFoo)
    {
        TempStr += b.ToString("X"); //X表示十六进制显示 
    }
    return TempStr;
}出错的地方在注释的那一行,还有其他的办法获取这个值么

解决方案 »

  1.   

    看下出的错提示的是什么。你想直接就在.net的页面上去拿PHP页面上的值吗?
      

  2.   

    不是PHP页面的值.info_hash是一个先b编码,然后hash,然后urlencode
    举例:Response.Redirect("e.aspx?info_hash=%b4%15T%9b%86q%24%88%19H%c6%c7%8d%9d%90%be%a8d%a1%b1");
      

  3.   

    出的错在于GetString出来的值变化了
      

  4.   

    string xxxx = HttpContext.Current.Request.Url.Query;
    string[] sArray = Regex.Split(xxxx, "info_hash=", RegexOptions.IgnoreCase);