我们有一个Flash开发人员,该开发人员使用调用带有查询字符串?url =“ http:// feedburner / whatever”的名为proxy.php的文件来访问来自默认情况下无法从swf代码访问的域的rss feed中的外部数据.例如,我可能在浏览器中具有以下内容:http://localhost/proxy.php?url=feedburner.com/a_feed,浏览器将显示该页面,就像我将feedburner网址直接放在浏览器地址栏中一样.该proxy.php文件中的PHP代码如下.
$header[] = "Content-type: text/xml";
$header[] = "Content-length: ".strlen($post_data);
$ch = curl_init( $_GET['url'] );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
if ( strlen($post_data)>0 ){
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
$response = curl_exec($ch);
if (curl_errno($ch)) {
print curl_error($ch);
} else {
curl_close($ch);
//$response=split("iso-8859-2",$response);
//$response=join("UTF-8",$response);
print $response;
}
它工作正常,但是由于托管限制,我们需要在asp.net中复制功能.我不了解PHP,尽管付出了很多努力来理解代码,但我却不幸失败了.我需要能够使用asp.net复制我在第一段中描述的功能,但是尽管在ashx文件中使用谷歌搜索和尝试使用XmlTextWriter的技术却失败了.我在这里想念什么?
我猜想response.redirect不能工作,因为它告诉源去外部域本身,我们希望避免这种情况.
如何在ASP.NET中实现此PHP代码功能?
解决方法:
他所做的只是调用作为HTTP客户端(其中包括HTTP客户端)的CURL来下载文件,然后通过响应将其流式传输出去.您可以通过调用HTTPWebRequest复制功能.这里有一个教程:
标签:httpresponse,asp-net,php
来源: https://codeday.me/bug/20191210/2100309.html