我是具有游戏和3D图形背景的程序员,目前我想了解我的网络和网络开发技巧。
我有一项任务,我想完成这项任务。我的想法是,我希望能够发送HTTP请求或类似于我的网络服务器,它运行基于LAMP的设置。我想知道如何使用Cocoa Touch框架将包含一些信息的HTTP请求发送到我的网络服务器。
我希望网络服务器(使用PHP)能够将发送的信息记录到纯文本文件中,以后我可以使用它来制作图表。对于我的例子,我们可以发送当前日期。
我认为人们必须经常这样做,我真的想知道如何做到这一点。谢谢你的帮助。
P.S。如果您不知道Cocoa代码以便发送请求,那没关系我确定我可以解决这个问题,但我想至少知道如何让Linux服务器保存HTTP请求,最好是PHP但另一种合适的语言是好的。奖励标记为安全。
另外:我是一个完全的菜鸟,需要源代码,欢呼:D
答案 0 :(得分:11)
如果您需要从iPhone或Mac客户端向Web服务器发出HTTP请求,那么您真的无法通过像ASIHTTPRequest这样的库。文档非常好,涵盖了所有重要主题,如:
你应该check it out - 它会让你的生活更轻松。
答案 1 :(得分:9)
好的,没有人给出答案,所以我发现了一个项目,详细说明如何使用Mac本机应用程序为客户端或PHP网页客户端。我稍微修改了一些原始服务器代码,只是因为你知道我在我自己的网站上测试了它,它适用于将文件上传到Web服务器。
PHP Server(uploader.php)
<?php
$target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name'] );
$filename = "\"" . basename( $_FILES['uploaded']['name'] ) . "\"";
$ok = 1;
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "$filename";
echo "was uploaded successfully";
}
else
{
echo "$filename";
echo "upload failed";
}
?>
Web客户端(index.php)
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploaded" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
Cocoa客户端
Cocoa客户端的代码很长,可以找到上面的代码here。这里有一个alternative,我认为这是更好的代码,但我没有使用上面的PHP服务器测试它。我希望你可以用最小的改变修改它,如果有的话。
以下是Cocoa向网络服务器发送文字POST请求的基本方法:
NSString* content = [@"item=" stringByAppendingString:@"Something to
Post"];
NSURL* url = [NSURL URLWithString:@"http://www.mysite.com/index.php"];
NSMutableURLRequest* urlRequest = [[NSMutableURLRequest alloc] initWithURL:url];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[content dataUsingEncoding:NSASCIIStringEncoding]];
我喜欢这个,因为它是一个最小的解决方案,您可以轻松地构建它,希望这可以帮助其他人,如果他们遇到这个:)
答案 2 :(得分:-1)
不是真正的服务器端人,但发送HTTP请求可以通过几种方式完成。最简单的方法是使用+ NSString stringWithContentsOfURL:并在URL中使用GET参数。这将在您指定的URL处命中服务器,GET参数可以包含数据。返回值可以忽略,并且可能应该是最小的。
现在不打算深入查看,但我相信你会使用NSStream和NSURLRequest构建更复杂的查询,例如使用POST。