Отправьте iPhone HTTP request в Apache веб-сервер PHP

git rm --cached <file_to_remove_from_commit_<commit_id>_which_added_file>
git commit -m "removed unwanted file from git"

оставит вам локальный файл. Если вам также не нужен локальный файл, вы можете пропустить опцию --cached.

Если вся работа выполняется в вашей локальной ветке, вам нужно сохранить файл в более позднем коммите, и, как и при наличии чистой истории, я думаю, что более простой способ сделать это может быть:

git rm --cached <file_to_remove_from_commit_<commit_id>_which_added_file>
git commit --squash <commit_id>
git add <file_to_remove_from_commit_<commit_id>_which_added_file>
git commit -m "brand new file!"
git rebase --interactive <commit_id>^

и затем вы можете легко завершить ребазинг, не запоминая более сложные команды, не фиксируя сообщение или не набирая столько текста.

9
задан Brock Woolf 25 July 2009 в 11:52
поделиться

3 ответа

Вы действительно не можете пройти мимо такой библиотеки, как ASIHTTPRequest , если вам нужно делать HTTP-запросы от клиента iPhone или Mac к веб-серверу. Документация очень хороша и охватывает все важные темы, такие как:

  • асинхронные и синхронные запросы
  • отправка данных на сервер
  • отслеживание хода загрузки / выгрузки
  • обработка аутентификации
  • с использованием связки ключей для хранения учетных данных
  • сжатие тела запросов с помощью gzip

Вам следует проверить его - это сделает вашу жизнь намного проще.

11
ответ дан 4 December 2019 в 11:07
поделиться

На самом деле не парень на стороне сервера, но отправка HTTP-запроса может быть выполнена двумя способами. Самым тривиально простым является использование + NSString stringWithContentsOfURL: и использование параметров GET в URL-адресе. Это попадет на сервер по указанному вами URL-адресу, и параметры GET могут содержать данные. Возвращаемое значение можно игнорировать и, вероятно, должно быть минимальным.

Не собираюсь сейчас углубляться в это, но я считаю, что вы бы использовали NSStream и NSURLRequest для построения более сложных запросов, например, с использованием POST.

-1
ответ дан 4 December 2019 в 11:07
поделиться

Хорошо, никто не дал ответа, поэтому я пошел и обнаружил проект, в котором подробно описано, как это сделать, используя либо собственное приложение Mac для клиента, либо клиент веб-страницы PHP. Я немного изменил исходный код сервера, чтобы вы знали, что я тестировал его на своем собственном сайте, и он работает для загрузки файлов на веб-сервер.

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";
}
?>

Веб-клиент (индекс . 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>

Клиент Какао

Код для клиента Какао довольно длинный, и код, который соответствует приведенному выше, можно найти здесь . Здесь есть альтернатива , которая, на мой взгляд, является лучшим кодом, но я не тестировал ее с указанным выше сервером PHP. Я ожидаю, что вы можете изменить его с минимальными изменениями, если таковые имеются.

Вот основной способ в Какао отправить текстовый запрос 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]];

Мне это нравится, потому что это минимальное решение, и вы можете использовать его это легко и, надеюсь, это может помочь кому-то другому, если они столкнутся с этим :)

9
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: