Мова :
SWEWE Член :Ввійти |Реєстрація
Пошук
Енциклопедія співтовариство |Енциклопедія відповіді |Відправити запитання |Словник знань |Завантажити знання
питань :Php fsockopen робити з модельованої посадки, була проблема
Відвідувач (223.146.*.*)[Китайський ]
Категорія :[Технологія][Комп'ютерні технології]
питань Опис :
Ефект ви хочете досягти, це: отримати параметри поштових від 1.html у формі, а потім у 2.php (менше коду) моделюється посадки віддалений поштовий сервер. У реальній роботі буде застряг в 2.php тривалого часу, а потім помилка лінії (код етикетки), заданої зміст PHP тайм-аутів 30s, я змінив php.ini ще приділяється тайм-аут після 60S 60S. Curl я намагався зробити раніше, але без відповіді завитка і луна, так що використання fsockopen.

<? Php


// Fsockopen
  $ Srv_ip = '192.168.100.254'; // цільової IP
  $ Srv_port = 443;
  $ URL = '/owa/auth.owa'; // Поштова адреса
  $ Рр = '';
  $ Resp_str = '';
  $ Errno = 0;
  $ ErrStr = '';
  $ Тайм-аут = 10;
  $ Post_str = file_get_contents ("PHP: // вхід"); // отримуємо дані форми


  якщо ($ == srv_ip '' || $ гіперпосилання == '') {
   відлуння ('ф або приймач гіперпосилання порожнім <br>');
  }

  $ Fp = fsockopen ($ srv_ip, $ srv_port, $ ERRNO, $ ErrStr, $ таймаут);
  якщо (! $ FP) {
   відлуння ('FP невдачу');
  }
  $ Content_length = StrLen ($ post_str);
  $ Post_header = "POST $ гіперпосилання HTTP / 1.1 \ г \ п";
  . $ Post_header = "Content-Type: застосування / х-WWW-форм-urlencoded \ г \ п";
  $ Post_header = "User-Agent: MSIE \ г \ п";.
  ... $ Post_header = "Ведучий:" $ srv_ip "\ г \ п";
  . $ Post_header = "Connection: Keep-Alive \ г \ п \ г \ п";
  . $ = $ Post_header post_str;


  // Ехо $ post_header;
  / * FWRITE ($ FP, $ post_header);
  в той час як (! feof ($ FP)) {
   . $ Resp_str = fgets ($ FP, 512); //! ! ! Тут таймаута помилка 30S
  } * /

  FWRITE ($ FP, $ post_header);
  відлуння $ post_header;
    $ Inheader = 1;
    $ Num = 0;
    в той час як (! feof ($ FP)) {
        $ Лінія = fgets ($ FP, 1024);
        якщо ($ inheader && ($ лінія == "\ п" || $ лінія == "\ г \ п")) {
             $ Inheader = 0;
        }
        якщо ($ inheader == 0) {
          . $ = $ Дані лінії;
        }
        }

  fclose ($ FP);
  Ехо $ даних;

?>

Я повинен відповісти [Відвідувач (18.117.*.*) | Ввійти ]

Картинка :
Тип :[|jpg|gif|jpeg|png|] Байт :[<2000KB]
Мова :
| Перевірте код :
Всі Відповіді [ 1 ]
[Член (闪电)]Відповіді [Китайський ]Час :2016-01-18
Для використання CURL зробити, отримати реальну заголовок HTTP $ _ SERVER зміст всередині файлу заголовка, а потім перейти до спробувати

Пошук

版权申明 | 隐私权政策 | Авторське право @2018 Всесвітній енциклопедичні знання