簡體   English   中英

將iPhone HTTP請求發送到Apache PHP Web服務器

[英]Send iPhone HTTP request to Apache PHP webserver

我是程序員,擁有游戲和3D圖形背景,目前我想了解我的網絡和網絡開發技巧。

我有一項任務,我想完成這項任務。 我的想法是,我希望能夠發送HTTP請求或類似於我的網絡服務器,它運行基於LAMP的設置。 我想知道如何使用Cocoa Touch框架向我的網絡服務器發送包含我的iPhone的一些信息的HTTP請求。

我希望網絡服務器(使用PHP)能夠將發送的信息記錄到純文本文件中,以后我可以使用它來制作圖表。 對於我的例子,我們可以發送當前日期。

我認為人們必須經常這樣做,我真的想知道如何做到這一點。 謝謝你的幫助。

PS如果您不知道Cocoa代碼以發送請求,那沒關系我確定我可以解決這個問題,但我想至少知道如何讓Linux服務器保存HTTP請求,最好PHP,但另一種合適的語言是好的。 獎勵標記為安全地做到這一點。

另外:我是一個總的菜鳥,需要源代碼,歡呼:D

如果您需要從iPhone或Mac客戶端向Web服務器發出HTTP請求,那么您真的無法通過像ASIHTTPRequest這樣的庫。 文檔非常好,涵蓋了所有重要主題,如:

  • 異步與同步請求
  • 將數據發送到服務器
  • 跟蹤上傳/下載進度
  • 處理認證
  • 使用鑰匙串存儲憑證
  • 使用gzip壓縮請求主體

你應該檢查一下 - 它會讓你的生活更輕松。

好的,沒有人給出答案,所以我發現了一個項目,詳細說明如何使用Mac本機應用程序為客戶端或PHP網頁客戶端。 我稍微修改了一些原始服務器代碼,只是因為你知道我在我自己的網站上測試了它,它適用於將文件上傳到Web服務器。

PHP服務器(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客戶端的代碼很長,上面的代碼可以在這里找到。 這里有一個替代方案 ,我認為是更好的代碼,但我沒有使用上面的PHP服務器測試它。 我希望你可以用最小的改變修改它,如果有的話。

以下是Cocoa向Web服務器發送文本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]];

我喜歡這個,因為它是一個最小的解決方案,您可以輕松地構建它,希望這可以幫助其他人,如果他們遇到這個:)

不是真正的服務器端人,但發送HTTP請求可以通過幾種方式完成。 最簡單的方法是使用+ NSString stringWithContentsOfURL:並在URL中使用GET參數。 這將在您指定的URL處命中服務器,GET參數可以包含數據。 返回值可以忽略,並且可能應該是最小的。

現在不打算深入研究,但我相信你會使用NSStream和NSURLRequest構建更復雜的查詢,例如使用POST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM