Длинные URL-адреса с более чем 4095 символов в php - PullRequest
4 голосов
/ 10 июня 2011
$url = "http://example.com/............."

$ url содержит более 4095 символов.Мне нужно получить доступ к этому URL в php, но если я использую file или file_get_contents, он возвращает ошибку

Как мне открыть или получить доступ к этому URL в php?

Ответы [ 5 ]

4 голосов
/ 10 июня 2011

Ваша проблема не в PHP, а в безумии вашего требования.:) Также;

Какова максимальная длина URL в разных браузерах?

Конечно, вы хотите POST вместо сумасшедшего GET.Это больше похоже на фундаментальную проблему проектирования систем.

1 голос
/ 10 июня 2011

полученная вами ошибка была сгенерирована удаленным сервером ... эта служба не может обрабатывать URL-адреса длиннее указанного количества символов.

, если этот API опирается на запросы GET и предназначен для использованиякак бы вы его ни использовали, ваша проблема заключается в ошибке проектирования в используемом API и не имеет ничего общего с PHP.если вы не можете изменить API или службу, предоставляющую доступ к API, вы не сможете решить эту проблему

1 голос
/ 10 июня 2011

Это зависит от типа сервера, к которому вы пытаетесь получить доступ.

Например:

Apache: ограничивает длину URL-адреса LimitRequest *, по умолчанию он имеет 8 КБ для строки URL-адреса.

Microsoft Internet Information Server: по умолчанию он имеет 16 КБ.Но его можно изменить.

Perl HTTP :: Daemon: 8 000 символов для длины URL и 16 КБ для HTTP-заголовка.Значения можно изменить в Daemon.pm.

0 голосов
/ 10 июня 2011

Как однажды написал Рэймонд Чен, если вам нужно спросить, вы, вероятно, делаете что-то не так . В вашем случае вы должны явно использовать POST вместо GET.

0 голосов
/ 10 июня 2011
...