2010-04-02 2 views
0

다음 코드와 함께 https://clients.mindbodyonline.com/asp/home.asp?studioid=851과 같은 페이지에 연결하는 데 cURL을 사용하려고합니다.cURL PHP : 인보이스 발행 시스템에 연결

<?php 

$curl_handle=curl_init(); 
curl_setopt($curl_handle,CURLOPT_URL,'https://clients.mindbodyonline.com/asp/home.asp?studioid=851'); 
//curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); 
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); 
curl_setopt($curl_handle,CURLOPT_HTTPAUTH, CURLAUTH_ANY); 

curl_setopt($curl_handle,CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); 
curl_setopt($curl_handle,CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); 

//curl_setopt($curl_handle,CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($curl_handle,CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION, 1); 

//curl_setopt($curl_handle,CURLOPT_HEADER, 1); 
//curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER, 1); 
//curl_setopt ($curl_handle,CURLOPT_POST, 1); 

$buffer = curl_exec($curl_handle); 
curl_close($curl_handle); 

if (empty($buffer)) 
{ 
    print "Sorry, The booking system appears to be unavailable at this time.<p>"; 
} 
else 
{ 
    print $buffer; 
} 
?> 

내가 설정 한 내용을 무시하고 내가 얻은 세 가지 응답 만 있습니다.

  1. 아무것도로드되지 않고 오류 메시지가
  2. 리디렉션에/ASP/집이라 ... 로컬
  3. 반환 '1'과 그 시간에 대한 모든

감사입니다!

답변

1

아무 것도로드되지 않았습니다. : 코드는 정상적으로 작동하지만 무시할 수 있습니다. 그것은 아마 그들의 끝 부분에 안티 - 망치질 기능입니다. 잠시 동안 코드를 잠자기 상태로 변경하고 몇 번 다시 시도 할 수 있습니다.

2. 로컬로/asp/home ...로 리디렉션 : 코드가 작동하지만 브라우저에서 실행되는 페이지에서 다시 자바 스크립트를 반환하고 존재하지 않는 페이지로 리디렉션합니다. 이 할 일을 실행하지 않고이 코드를 확인하려면 :

print htmlspecialchars($buffer); 

3. 반환 '1'과 그 모든 : 당신이 그것을

curl_setopt($client, CURLOPT_RETURNTRANSFER, true); 

가의 주석을 사용하지 않을 경우 그 발생합니다. 이 컬을 실행할 수있는 자바 스크립트에 의해 그려진 있기 때문에

는 불행하게도 심지어 당신은 습관, 그대로이 특정 사이트를 읽을 수 있습니다.

0

아마도 사용중인 쿠키가 유효하지 않습니다 (즉, 세션이 만료되었습니다). 쿠키없이 페이지를로드하면 POST 양식이 생성됩니다. 아마도 POST 데이터를 보내고 쿠키를 얻은 다음 나머지 세션 동안 해당 쿠키를 사용해야합니다.

$buffer을 사용하려면 CURLOPT_RETURNTRANSFER을 1로 설정해야합니다. 그렇지 않다면, cURL은 아마도 # 2를 설명하는 페이지를 출력 할 것입니다.