I am creating an application for the Google App engine where CURL is not allowed. As far as I know urlFetch is the best alternative.
I don't know if I can achieve the same result with urlFetch, but I really would really appreciate it if someone with a lot of experience could help me.
The plan was to convert the following CURL requests to urlFetch. If someone can point me in the right direction or suggest a better alternative, I would really appreciate it.
public function postCall($endpoint, $post_data, $param1, $param2, $json=1, $headers=false) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $this->options['url'].$endpoint); curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); if ($headers && is_array($headers)) { curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } $post_data['req_token'] = $this->hash($param1, $param2); curl_setopt($ch, CURLOPT_POST, count($post_data)); if (!$headers) curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data)); else curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); $this->debug('POST params: ' . json_encode($post_data)); $result = curl_exec($ch); if ($result === false) { $this->debug('CURL error: '.curl_error($ch)); return false; } $this->debug('HTTP response code' . curl_getinfo($ch, CURLINFO_HTTP_CODE)); $this->debug('POST return ' . $result); // close connection curl_close($ch); if ($json) return json_decode(utf8_encode($result), true); else return $result;}
source share