Я использую LuaForWindows (последняя версия), и я прочитал this и this ответ и все, что я мог найти в mailinglist lua-users.org. То, что я пытаюсь (большинство) сайтов, отвечает только с 301 или 302. Я создал примерный пакетный скрипт, который загружает (некоторые) из OpenGL 2.1 Reference со своих справочных страниц.luaSocket HTTP-запросы всегда отвечают на перенаправление (301 или 302)
@ECHO OFF
FOR /F "SKIP=5" %%# IN (%~fs0) DO lua -l socket.http -e "print(socket.http.request('https://www.opengl.org/sdk/docs/man2/xhtml/%%#.xml'))"
GOTO:EOF
glAccum
glActiveTexture
glAlphaFunc
glAreTexturesResident
glArrayElement
glAttachShader
glBegin
glBeginQuery
glBindAttribLocation
glBindBuffer
самая важная часть заключается в следующем:
print(require('socket.http').request('https://www.opengl.org/sdk/docs/man2/xhtml/glAccum.xml')) -- added glAccum so you can run it
Это всегда возвращает 301. Это также происходит со мной, когда загрузка с других случайных страниц. (Я не замечаю их, поэтому я не могу дать список, но я случайно узнал, что некоторые из них используют cloudflare.)
Если я напишу эквивалентный загрузчик в Java, используя URL и openConnection(), он не будет перенаправлен.
Я уже пробовал переадресацию вручную (настройка refferer и прочее) и используя the 'generic' way. Как и большинство советов, изложенных в других ответах.
Спасибо! Поскольку те вещи, которые я тестировал, были довольно старыми, я всегда тестировал http. В настоящее время каждыйTHTH является https (или конвертируется в), и те аккуратно скрытые вещи легко пропустить ... например, в конце http в предложениях. Я также должен указать: http://stackoverflow.com/questions/10306489 И http://stackoverflow.com/questions/10360632 – tDwtp