Есть несколько способов сделать это, полагаясь на тот факт, что у вас есть доступ к CGI, который получает запрос.
Лучший вариант - отправить data
как POST
вместо GET
. Если по какой-то причине вы не можете сделать это, вы можете попытаться отправить ваши данные с некоторым сжатием и распаковать их в CGI.
Если связь происходит между двумя серверами, первый сервер может сохранить data
в файл и отправить имя файла на второй сервер, поэтому CGI получает этот файл вместо чтения данных из URL.
Вы можете адаптировать CGI для получения данных на куски, разбивая данные и помечая каждый запрос какой-либо другой переменной, например function=doitnow&data=bytes&chunk=1&total=2&id=somekey
, function=doitnow&data=more-data&chunk=2&total=2&id=somekey
Поскольку я на самом деле не слишком часто использую Python, я не знаю, как обрабатывать значения POST или GET, просто в этом случае ниже показана оболочка для передачи значений POST и GET в скрипт php: *
#!/bin/sh
echo "Content-Type: text/html;"
echo
echo
#POST=`dd count=$CONTENT_LENGTH bs=1 2> /dev/null`
POST=`dd bs=1 2> /dev/null`
php -f 'dosomething.php' -- "$POST" "$QUERY_STRING"