2012-03-14 2 views
2

양식 변수가있는 URL을 추가하는 ColdFusion 페이지가 있습니다.cfhttp "POST"in PHP

<cfhttp method="Post" url='http://api.test.com/import-lead-data.php'> 
      <cfoutput> 
       <cfhttpparam name="BAL_ONE" type="formField" value="#BAL_ONE#"> 
     <!--- <cfhttpparam name="MTG_ONE_INT" type="formField" value="#MTG_ONE_INT#"> 
       <cfhttpparam name="MTG_TWO" type="formField" value="#MTG_TWO#"> 
       <cfhttpparam name="BAL_TWO" type="formField" value="#BAL_TWO#"> 
       <cfhttpparam name="ADD_CASH" type="formField" value="#ADD_CASH#">---> 
       <cfhttpparam name="PRODUCT" type="formField" value="#PRODUCT#"> 
       <cfhttpparam name="PROP_ST" type="formField" value="#PROP_ST#"> 
       <cfhttpparam name="CRED_GRADE" type="formField" value="#CRED_GRADE#"> 
       <cfhttpparam name="PROP_ZIP" type="formField" value="#PROP_ZIP#"> 
       <cfhttpparam name="PROP_DESC" type="formField" value="#PROP_DESC#"> 
       <cfhttpparam name="SPEC_HOME" type="formField" value="#SPEC_HOME#"> 
       <cfhttpparam name="PURCHASE_CONTRACT" type="formField" value="#PURCHASE_CONTRACT#"> 
       <cfhttpparam name="EST_VAL" type="formField" value="#EST_VAL#"> 
       <cfhttpparam name="DOWN_PMT" type="formField" value="#DOWN_PMT#"> 
       <cfhttpparam name="LOAN_TYPE" type="formField" value="#LOAN_TYPE#"> 
       <cfhttpparam name="BUY_TIMEFRAME" type="formField" value="#BUY_TIMEFRAME#"> 
       <cfhttpparam name="AGENT_FOUND" type="formField" value="#AGENT_FOUND#"> 
       <cfhttpparam name="VA_STATUS" type="formField" value="#VA_STATUS#"> 
       <cfhttpparam name="INCOME" type="formField" value="#INCOME#"> 
       <cfhttpparam name="ANNUAL_VERIFIABLE_INCOME" type="formField" value="#ANNUAL_VERIFIABLE_INCOME#"> 
       <cfhttpparam name="FHA_BANK_FORECLOSURE" type="formField" value="#FHA_BANK_FORECLOSURE#"> 
       <cfhttpparam name="NUM_MORTGAGE_LATES" type="formField" value="#NUM_MORTGAGE_LATES#"> 
       <cfhttpparam name="EMAIL" type="formField" value="#EMAIL#"> 
       <cfhttpparam name="FNAME" type="formField" value="#FNAME#"> 
       <cfhttpparam name="LNAME" type="formField" value="#LNAME#"> 
       <cfhttpparam name="ADDRESS" type="formField" value="#ADDRESS#"> 
       <cfhttpparam name="CITY" type="formField" value="#CITY#"> 
       <cfhttpparam name="STATE" type="formField" value="#STATE#"> 
       <cfhttpparam name="ZIP" type="formField" value="#ZIP#"> 
       <cfhttpparam name="PRI_PHON" type="formField" value="#PRI_PHON#"> 
       <cfhttpparam name="SEC_PHON" type="formField" value="#SEC_PHON#"> 
       <cfhttpparam name="CAPTURE_METHOD" type="formField" value="#CAPTURE_METHOD#"> 
       <cfhttpparam name="AID" type="formField" value="#AID#"> 
       <cfhttpparam name="SRLP" type="formField" value="#SRLP#"> 
       <cfhttpparam name="SCid" type="formField" value="#SCid#"> 
       <cfhttpparam name="BUYER_ID" type="formField" value="#BUYER_ID#"> 
       <cfhttpparam name="CID" type="formField" value="#CID#"> 
       <cfhttpparam name="PPCID" type="formField" value="#session.PPCID#"> 
      </cfoutput> 
     </cfhttp> 

내가이 httpRquest 사용하는 것이 가정 (메타 : 포스트) 나는 PHP에서이 코드를 복제하려고 해요? 그러나 나는 확실하지 않다.

+0

이 코드 블록은 설명하는 것을 수행하지 않습니다. "폼 변수가있는 URL을 추가하는 ColdFusion 페이지가 있습니다."라고 말했지만이 블록은 그렇게하지 않습니다. 이 블록은 양식 필드만으로 HTTP POST 요청을 작성합니다. URL 변수에는 아무런 영향을주지 않습니다. –

+0

죄송합니다.이 cfhttp는 지정한 URL에 양식 변수를 표시합니다. 별도의 PHP 페이지에서 동일한 작업을 수행하려고합니다. –

답변

2

: http://framework.zend.com/manual/en/zend.http.html

는 여기에 게시 요청을 할 CURL을 사용하는 예입니다. 표준 파일 및 스트림 관련 함수와 함께 사용할 수 있습니다.

$url = 'http://api.test.com/import-lead-data.php'; 
$result = file_get_contents($url); 

이렇게하면 표준 GET 요청이 생성됩니다. 하지만 당신은 그러므로 당신이 어떤 context options­Docs을 추가해야합니다, POST 요청을 갖고 싶어 :

$url = 'http://api.test.com/import-lead-data.php'; 
$options['http'] = array(
    'method' => "POST", 
);  
$context = stream_context_create($options);  
$result = file_get_contents($url, NULL, $context); 

이 대신 GET의 POST 요청을 만들 것입니다. 아직 누락 된 것은 양식 필드입니다. 모든 필드가 키 => 값 쌍의 배열에 있다고 가정 해 보겠습니다.

$url = 'http://api.test.com/import-lead-data.php'; 
$content = http_build_query($form_fields);  
$options['http'] = array(
    'method' => "POST", 
    'content' => $content, 
);  
$context = stream_context_create($options);  
$result = file_get_contents($url, NULL, $context); 

희망 사항입니다. 물론 http_post_data 또는 http_post_fields 기능을 사용할 수도 있습니다.

다음을 참조하십시오 : HEAD first with PHP Streams.

0

HTTP PECL 확장 (HTTPRequest 클래스 포함)은 기본 PHP 설치의 일부가 아닙니다.

나는 CURL : http://php.net/manual/en/book.curl.php을 살펴볼 것이다. HTTP 메소드 W 매개 변수를 설정할 수 있습니다.

또는 당신이 프레임 워크를 사용하여 괜찮다면, 젠드 FW HTTP 클라이언트 모듈 체크 아웃 : PHP HTTP is intergrated as a so called stream wrapper­Docs에서 http://davidwalsh.name/execute-http-post-php-curl

+0

http_post_data를 사용하는 것은 어떻습니까? –

+0

그건 PECL 확장의 일부입니다. PECL 모듈을 설치할 수있는 환경에서 작업하는 경우에 대비하십시오! 가능하면 코드를 덜 휴대 할 수 있기 때문에 이것을 피하는 경향이 있습니다. –

+0

http_post_data 구문은 어떻게 생겼을까요? –