2011-02-26 4 views
0

다음 코드를 작성했지만 제출되었습니다. 내부 오류가 표시됩니다. 내가 잘못 생각하는 것에 대한 아이디어가 없습니다.CURL을 사용하여 Google 양식에 양식 제출

<?php 

//extract data from the post 
//extract($_GET) ; 
//set POST variables 

//The form https://spreadsheets.google.com/viewform?authkey=CJPbtZkI&hl=en&formkey=dEd5UFhRQ1ZfNzcwU1UwOVhIbF92cGc6MQ&ifq 
$url = 'https://spreadsheets.google.com/formResponse?authkey=CJPbtZkI&amp;hl=en&amp;formkey=dEd5UFhRQ1ZfNzcwU1UwOVhIbF92cGc6MQ&amp;ifq' ; 
$fields = array(
'pageNumber'=>urlencode("0") , 
'backupCache'=>urlencode("") , 
'submit'=>urlencode("Submit"), 
'entry.0.single'=>urlencode("") , 
'entry.1.single'=>urlencode("") , 
'entry.2.single'=>urlencode("") , 
'entry.3.single'=>urlencode("") , 
'entry.4.single'=>urlencode("") , 
'entry.5.single'=>urlencode("") , 
'entry.6.single'=>urlencode("") , 
'entry.7.single'=>urlencode("") , 
'entry.8.single'=>urlencode("") , 
'entry.9.single'=>urlencode("") , 
'entry.10.single'=>urlencode("") , 
'entry.11.single'=>urlencode(""), 
'entry.12.single'=>urlencode("") 
); 
//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_HTTPHEADER, array('Content-Type: text/xml','Accept-Charset: UTF-8')); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ; 
//execute post 
$result = curl_exec($ch) ; 
print_r($fields_string); 
//close connection 
curl_close($ch) ; 

?> 
+0

안녕하세요, 나는 똑같은 일을하고 있고 아직도 내게 도움이되지 않을까요? 내가 어디로 코드를 보낼 수 있니? – serdarsenay

답변

1

명백한 첫 번째 문제 가 사용하려고하는 URL이 HTML 인코딩되어 있는지 (예를 들어,이 &amp;&에있다) 그를 추가 할 수

+0

이제 작동합니다! 고마워 – benone

0

시도 :

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
0

까다로운 점을, $field_strings 변수에는 여전히 후미 앰퍼샌드가 있습니다. 당신이해야 할 일 :

$fields_string = rtrim($fields_string ,'&') ;