2013-01-17 119 views
3

早上好。我正在做一些Http_Request2库的工作,我正面临着这种情况。我试图对某个URL发出POST请求。如果我添加在URL的查询字符串,即Http_Request2 POST请求不起作用

$request->setUrl('127.0.0.1/something.php?parm1=x&parm2=y'); 
$request->setMethod(HTTP_Request2::METHOD_POST); 

它工作正常,但我想设置与addPostParameter方法的参数的参数:

$request->setUrl('127.0.0.1:8888/something.php'); 
$request->addPostParameter('parm1', $somevariable); 
$request->addPostParameter($some_array_with_parms); 

这种方式行不通。该URL确实是本地端口8888.

是我失踪的东西?某些类型的POST请求配置?

在此先感谢

回答

1

这里是一个示例代码:

try { 

    $request = new HTTP_Request2('http://127.0.0.1:8888/something.php'); 
    $request->setMethod(HTTP_Request2::METHOD_POST) 
     ->addPostParameter('parm', 'value1') //single param 
     ->addPostParameter(array('parmType' => 'val11','parm2' => 'val12')); //multiple 
    $response = $request->send()->getBody(); 

} catch (Exception $exc) { 
    echo $exc->getMessage(); 
} 

注:确保8888端口是开放的。

+0

@Cheluis请让我知道这是否有帮助。 – OMG

+0

我必须在查询字符串中的URL后面添加第一个parm,然后添加示例代码并工作。我会接受你的答案,尽管别人发布了相同的答案,但删除了..非常感谢 – Cheluis

+0

这不适合我。它看起来像POST参数被忽略。 – Leo