一尘不染

ASIHTTPRequest将json发送到php服务器

json

最近5个小时,我一直在尝试将json对象发布到PHP脚本中。我已经阅读了所有文档,似乎代码应该可以,但事实并非如此。发出并接收到请求,但是我无法访问发布的json数据,甚至不知道它是否已正确发送。我不断得到一个空的php数组,而不是json数据。

NSString *jsonString = [self.tableDataSource JSONRepresentation];

NSURL *url = [NSURL URLWithString:@"http://myserver.com/test.php"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];


[request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"]; 
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request appendPostData:[jsonString  dataUsingEncoding:NSUTF8StringEncoding]]; 
[request startSynchronous];

这是php脚本(test.php)

$handle = fopen('php://input','r');
$jsonInput = fgets($handle);
$decoded = json_decode($jsonInput,true);
print_r($decoded);

我正在使用来自https://github.com/pokeb/asi-http-
request.git的最新ASIHttpRequest代码

我究竟做错了什么?????

欢呼,旅行。


阅读 163

收藏
2020-07-27

共1个答案

一尘不染

找到了问题。我在apache vhost配置中进行了SSL重定向。使用tcp数据包嗅探器找到它。一旦我删除了重定向,我就可以通过以下方式接收json数据:

$handle = fopen('php://input','r');
$jsonInput = fgets($handle);
$decoded = json_decode($jsonInput,true);
print_r($decoded);

感谢所有提供帮助的人。

2020-07-27