Apache PHP sunucunuza iPhone HTTP isteği gönderin

3 Cevap php

Ben bir oyun ve 3D grafik arka plan ile programcı yaşıyorum ve şu anda benim ağ ve web geliştirme becerilerini tazelemek istiyorum.

Ben bunu başarmak istiyorum bir görev var. Benim fikrim ben bir HTTP isteği veya LAMP tabanlı kurulum bittiğinde benim webserver, benzer bir şey göndermek mümkün istiyorum olmasıdır. Benim webserver için, Cocoa Touch framework kullanarak benim iPhone'dan bazı bilgiler içeren bir HTTP isteği göndermek nasıl bilmek istiyorum.

Ben grafikleri yapmak için daha sonra kullanabilirsiniz, (PHP kullanarak) web sunucusu bir düz metin dosyası içine gönderilen bilgi kayıt edebilmek olmak istiyorum. Benim Örneğin biz sadece geçerli tarihi gönderebilir.

Ben insanların çok sık bunu yapmak gerektiğini düşünüyorum ve ben gerçekten bunu bilmek istiyorum. Yardımlarınız için teşekkürler.

P.S. Eğer isteği göndermek amacıyla Kakao kodunu biliyorsanız yoksa, ki ben bunu anlamaya eminim tamam, ama ben en az değil PHP tercihen, HTTP isteği kaydetmek için Linux sunucu almak için bilmek istiyorum ancak başka uygun bir dil gayet iyi. Bunu yapmak için koyma için Bonus işaretleri securely.

Ayrıca: D: Ben alkış, bu da toplam çaylak değilim ve kaynak kodu gerektiren

3 Cevap

Eğer bir web sunucusuna bir iPhone ya da Mac istemci HTTP isteklerini yapmak gerekir eğer gerçekten ASIHTTPRequest gibi bir kütüphane gidemez. Dokümantasyon çok iyi, ve gibi tüm önemli konuları kapsar:

  • senkron istekleri vs asenkron
  • sunucuya veri gönderme
  • izleme yükleme / indirme ilerleme
  • kimlik ele
  • kimlik depolanması için anahtarlık kullanarak
  • gzip ile istek gövdelerini sıkıştırılması

Sen check it out - bu hayatınızı çok kolaylaştıracak.

Tamam kimse ben gitti ve bir müşteri için bir Mac yerli uygulama ya da bir PHP web sayfası istemcisi kullanarak bunu nasıl detayı projesini keşfettiği bir cevap verdi. Ben sadece bu yüzden benim kendi sitesinde bu test ettik ve bir web sunucusuna dosya yükleme için çalıştığını biliyorum, biraz orijinal sunucu kodu bazı modifiye edilmiş.

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 Client (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 Client

Kakao müşteri için kodu oldukça uzun ve yukarıda gider kod bulunabilir here. Orada bir alternative burada, ben iyi kod olduğunu düşünüyorum, ama yukarıdaki PHP sunucu ile test etmedim. Ama eğer varsa minimal değişiklikler ile değiştirebilir bekliyoruz.

Here is a basic way in Cocoa to send a text POST request to a webserver:

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]];

Bir asgari çözümdür ve kolayca bunun üzerine inşa edebilirsiniz ve bu rastlamak gerekir umarım bu başkası yardımcı olabilir, çünkü ben beğendim :)

Gerçekten bir sunucu tarafı bir adam, ancak HTTP isteği göndererek şekillerde bir çift gerçekleştirilebilir. URL params GET ve kullanın: En trivially kolay + NSString stringWithContentsOfURL kullanmaktır. Yani belirttiğiniz URL'den sunucu vuracaktır ve GET params verileri içerebilir. Dönüş değeri göz ardı edilebilir, ve muhtemelen en az olmalıdır.

Şu anda derinlemesine onu aramak için gidiyor, ama örneğin POST kullanarak, daha karmaşık sorguları oluşturmak için NSStream ve NSURLRequest kullanmak istiyorum inanmıyorum.