注意:請求正在從php發送到一個asp.net服務器,您可以看到下面的URL。據我所知這應該工作,但我得到一個混亂的HTML錯誤消息,而不是一個不錯的JSON數據響應! 下面是輸入:
查詢字符串:_tsmp = 「1389427807768」
請求負載: { 「開始」:0, 「長度」:20, 「sortBy」: 「DC」, 「sortAscending」:假「providerId 「:128391,」currencyIds「:[],」fromDateStr「:」2007-01-01「,」toDateStr「:」2014-01-11「,」validTrades「:true,」lotSize「:2}cURL響應是要求一個web.config文件將錯誤寫入
* 文件本地主機/測試/ proxy.php *處理從jquery的AJAX請求
<?php
$input = @file_get_contents('php://input');
$jdv = json_decode($input, true);
date_default_timezone_set('Europe/Kiev');
$url = 'http://www.zulutrade.com/WebServices/Performance.asmx/GetProviderTrades?_tsmp'.$_GET['_tsmp'];
foreach($_GET as $getname => $getvar) {
$fields[$getname] = urlencode($getvar); //for proxying get request to POST.
}
foreach($jdv as $postname => $postvar) {
if(is_array($postvar))$postvar = implode(",",$postvar);
$fields[$postname ] = urlencode($postvar); //for proxying POST requests.
}
$fields_string = "";
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//execute post
$result = curl_exec($ch);
//close connection
curl_close($ch);
echo $result;
響應
<html>
<head>
<title>Runtime Error</title>
<style>
body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;}
p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}
b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}
H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }
H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }
pre {font-family:"Lucida Console";font-size: .9em}
.marker {font-weight: bold; color: black;text-decoration: none;}
.version {color: gray;}
.error {margin-bottom: 10px;}
.expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }
</style>
</head>
<body bgcolor="white">
<span><H1>Server Error in '/' Application.<hr width=100% size=1 color=silver></H1>
<h2> <i>Runtime Error</i> </h2></span>
<font face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif ">
<b> Description: </b>An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
<br><br>
<b>Details:</b> To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".<br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code><pre>
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration></pre></code>
</td>
</tr>
</table>
<br>
<b>Notes:</b> The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.<br><br>
<table width=100% bgcolor="#ffffcc">
<tr>
<td>
<code><pre>
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration></pre></code>
</td>
</tr>
</table>
<br>
</body>
我該怎麼辦?我將這些文件放在根目錄下,確保寫入文件是可寫的,而我什麼都沒有。
您將哪個應用程序放入根? –
proxy.php文件位於本地主機上的文件夾中,因此我將web.config文件放在localhost根目錄(var/www)中。 –