0

我在目标 c 中有以下代码,它应该向我的网站发出 GET http 请求,然后将某些内容提交到我的 MySQL 数据库中......

NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.website.com/VideoPush/plist/urlTransfer.php"]];
[request setHTTPMethod:@"GET"];

NSString *post =[[NSString alloc] initWithFormat:@"videoID=%@",videoURL];
[request setHTTPBody:[post dataUsingEncoding:NSUTF8StringEncoding]];

注意:我是使用 Objective c 的 http 请求的初学者,所以我意识到我可能会遗漏一些明显的东西......

现在,如果我在浏览器中运行以下网址...

http://www.website.com/VideoPush/plist/urlTransfer.php?videoID=hhklskdjsad

然后一些东西被输入到数据库中,但当我使用目标 c 时没有。另外,当您发出这样的请求时,GET 和 POST 之间有什么区别(因为用户无论如何都看不到 url)?

另外:我是否允许将 url(仍然是带有 / 的 nsstring)作为上面的 videoURL 变量传递

4

1 回答 1

0

您尝试设置 GET 请求的正文,这是没有意义的。你可能想要的是:

NSString *urlString = [NSString stringWithFormat:@"http://www.website.com/VideoPush/plist/urlTransfer.php?videoID=%@", videoURL];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:urlString]];
... the rest of your method ...

您可能应该去阅读一下什么是GETPOST以及为什么我说在 GET 请求中包含正文是没有意义的。

另外:我是否允许将 url(仍然是带有 / 的 nsstring)作为上面的 videoURL 变量传递

不,您需要对查询字符串中的任何内容进行 URL 编码。您可以使用CFURLCreateStringByAddingPercentEscapes为您执行此操作。

于 2012-07-15T12:21:11.557 回答