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

Я делаю веб-приложение в PHP и хочу считать содержание из другого домена. Кажется, что мои главные опции fopen и curl.

Каковы существенные различия между этими двумя методами, особенно относительно параметров безопасности и доступных вариантов?

Имеет значение, если URL является http или https сайтом?

13
задан Josiah 27 February 2015 в 00:04
поделиться

2 ответа

Это почти очевидно, но первые источники могут быть:

http://en.wikipedia.org/wiki/Homoiconicity

http://c2.com/cgi/wiki?DefinitionOfHomoiconic

Гомойконичность объясняется в целом, и вы также можете найти источники происхождения. Как объясняется на примере Лиспа, он находится не так далеко от Клоюре.

-121--1230798-

В зависимости от источника данных... Если источником данных является DataTable, то элемент данных содержит DataRowView:

protected void rptMyReteater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        Button b = e.Item.FindControl("myButton") as Button; 
        DataRowView drv = e.Item.DataItem as DataRowView;
        b.CommandArgument = drv.Row["ID_COLUMN_NAME"].ToString();
    }
}
-121--1591111-

завиток использует внешнюю библиотеку и имеет гораздо больше возможностей для настройки запроса - настраиваемые заголовки, создание запроса POST, загрузка файлов. Все, что тебе нужно, я должен сказать.

Fopen ограничивается только выполнением запроса GET URL без дальнейшей настройки.

На ЗАВИТОК безопасности не влияет конфигурация безопасности в PHP (например, запрещенное открытие удаленного URLS и т.д.).

Обе возможности возвращают вам данные, которые вы можете использовать всеми возможными способами. Если вы делаете дыру в безопасности в проекте, после получения данных в конце концов, вы виноваты.

Я также не совсем уверен, но я думаю, что fopen не может обрабатывать SSL (https) соединения. И fopen, и ЗАВИТОК поддерживают SSL (как отметил Энди Шеллам в комментарии ниже).

17
ответ дан 1 December 2019 в 23:14
поделиться

См. Каковы важные различия между использованием fopen ($ url) и curl в PHP? для некоторых настроек безопасности, которые влияют на fopen, а именно allow_url_include.

Также обратите внимание, что с curl, если вы установили опцию CURLOPT_FOLLOWLOCATION, то curl следует перенаправлениям в file: // для выборки данных (все еще подчиняется open_basedir). Перенаправления на другие схемы, такие как ftp: //, могли быть хуже (ftp: // не тестировал). Без этого setopt curl вообще не выполняет перенаправления. Похоже, что fopen работает с 302 по умолчанию, но только http: // -> http: // и , а не http: // -> file: //.

2
ответ дан 1 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

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