PHP에서 fopen을 수행하는 데 문제가 있습니다. 저는 약 300kb의 데이터 집합을 Generic Handler (.ashx 파일)에 보냅니다. .Net 또는 PHP 측면의 솔루션을 환영합니다. 보낼 때 사용하는 코드 :PHP fopen 수신 계속 100 및 실패
function DoPostRequest($url, $data, $optional_headers = null)
{
$params = array('http' => array('method' => 'POST', 'content' => $data, 'header' => "Content-type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen ($data) . "\r\n"));
if($optional_headers != null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
try {
ini_set ('user_agent', $_SERVER['HTTP_USER_AGENT']);
$fp = fopen($url, 'rb', false, $ctx);
$response = stream_get_contents($fp);
} catch (Exception $e) {
echo 'Exception: '.$e->getMessage();
}
return $response;
}
.Net을 실행하는 웹 서버에 연결합니다. 문제는 요청이 시작되면 .Net 서버가 HTTP 1.1/100 Continue 응답을 보냅니다. 모든 것이 작동하는 작은 데이터 세트에서 잘 작동하지만 파일 크기가 크기 때문에 Continue가 .Net Framework에 의해 자동으로 입력된다고 가정합니다.
나는
와 C# 코드를 설정하는 노력도 포함하도록 Web.config 파일을 변경 한이의
<system.net>
<settings>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
아무도이 일을하지 않았다,하지만. 따라서 PHP 쪽에서하고 싶습니다. 바닐라 PHP 설치 (cURL이 설치되지 않음)를 사용하고 있습니다. fopen을 무시하거나 100이 계속 될 것으로 예상하는 방법이 있습니까?
편집은 : 전체 오류 코드는 주어진 :
경고 : fopen을 (에 http : // localhost를 : 59396은/Testing.ashx) function.fopen] : HTTP 요청이 실패 이 스트림을 열지 못했습니다! HTTP는/1.1 100 C에서 계속 : \ XAMPP \ htdocs를 \ 72
'http : // localhost : 59396/Testing.ashx'로 이동하면 어떻게됩니까? – Yaniro