forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   HTTP-протокол. ACCESS DENIED (http://forum.boolean.name/showthread.php?t=12906)

turBO 13.07.2010 01:18

HTTP-протокол. ACCESS DENIED
 
Обратился к сайту www.blitzbasic.com по протоколу HTTP:
Код:

pot=OpenTCPStream("www.blitzbasic.com" ,80)
WriteLine pot,"GET /index.php HTTP/1.1"
WriteLine pot,"Host: blitzbasic.com"
WriteLine pot,Chr$(10)
While Not Eof(pot)
    Print ReadLine$(pot)
Wend

Работает.
Подключаюсь к своему сайту.
Код:

pot=OpenTCPStream("www.xxxxxxxxx.com", 80)
(...)

Получаю при считывании страницы:
Цитата:

HTTP/1.1 403 Forbidden
Server: Lusca/LUSCA_HEAD-r14705
Date: Mon, 12 Jul 2010 20:16:16 GMT
Content-Type: Text/html
Content-Length: 2218
X-Squid-Error: ERR_ACCESS_DENIED 0
X-Cache: MISS from xx.xxxxx.com
Via: 1.0 xx.xxxxx.com:80 (Lusca/LUSCA_HEAD-r14705)
Connection: close (...)
Считать страницу не удаётся. Может хостинг блокирует внешние запросы?

Почему может быть отказано в доступе?

DeeJex 13.07.2010 10:44

Ответ: HTTP-протокол. ACCESS DENIED
 
попробуй
WriteLine pot,"GET /index.html HTTP/1.1"

ABTOMAT 13.07.2010 11:51

Ответ: HTTP-протокол. ACCESS DENIED
 
А без гет-запроса пробовал?

turBO 13.07.2010 12:38

Ответ: HTTP-протокол. ACCESS DENIED
 
Цитата:

Сообщение от DeeJex (Сообщение 154512)
попробуй
WriteLine pot,"GET /index.html HTTP/1.1"

Пробовал. Тоже самое.

Цитата:

А без гет-запроса пробовал?
А это как?


З.Ы. Номер порта использовал стандартный, хотя в панели управления хостингом указан 3306, но на нём поток не открывается.

ABTOMAT 13.07.2010 15:28

Ответ: HTTP-протокол. ACCESS DENIED
 
WriteLine pot,"GET /index.html HTTP/1.1"

без этой вот штуки
и да, раз уж так, надо сначала хост объвлять, а уж потом get/post

turBO 13.07.2010 16:19

Ответ: HTTP-протокол. ACCESS DENIED
 
Цитата:

Сообщение от ABTOMAT (Сообщение 154540)
надо сначала хост объвлять, а уж потом get/post

Да хост объявлен. Вот полный код:
Код:

pot=OpenTCPStream("www.xxx.com" ,80)
Color 255,0,0: If Not pot Print  "Failed.":WaitKey:End 
Print  "Соединение прошло успешно! Посылка запроса..." 
WriteLine pot,"GET /index.php HTTP/1.1"
WriteLine pot,"Host: xxx.com"
If  Eof(pot) Print  "Ошибка.":WaitKey:End
Print "Послан запрос! Ожидание ответа..."
Color 255,255,255: WriteLine pot,Chr$(10)
While Not Eof(pot)
    DebugLog(ReadLine(pot))
    ;Print ReadLine$(pot)
Wend
Color 255,0,0
If  Eof(pot)=1  Then  Print  "Операция успешно завершена!" Else  Print  "Error!"
CloseTCPStream pot
WaitKey
End

У меня ведь какая задача: хранить некоторую информацию на сервере (records-лист и пр.), и для решения этой задачи я выбрал PHP+MySQL базу. Но внести (или хотя бы считать со страницы) информацию не удаётся. Может, есть другие варианты решения?

DeeJex 13.07.2010 17:35

Ответ: HTTP-протокол. ACCESS DENIED
 

Цитата:

Сообщение от turbo

ты чо к порно сайту подключится пытаешься? :D


хз, через браузер заходит туда?

impersonalis 13.07.2010 18:07

Ответ: HTTP-протокол. ACCESS DENIED
 
Цитата:

Сообщение от DeeJex (Сообщение 154567)


ты чо к порно сайту подключится пытаешься? :D

Дельное замечание!
http://ru.wikipedia.org/wiki/Example.com
Цитата:

Зарезервировав эти имена, IANA сделала возможным их использование в руководствах и примерах настройки программного обеспечения без риска возникновения конфликтов с уже зарегистрированными доменами или доменами, которые могут быть зарегистрированы в будущем. Таким образом, при написании документации можно быть уверенным, что не помешаешь кому-либо, если пользователь/читатель попытается использовать какой-либо пример без изменения.

turBO 13.07.2010 23:39

Ответ: HTTP-протокол. ACCESS DENIED
 
Цитата:

Сообщение от DeeJex (Сообщение 154567)
хз, через браузер заходит туда?

Браузер открывает без проблем.

З.Ы. Полазил в Нете... доступ к MySQL не с хостинговой машины нужно дополнительно настраивать на стороне сервера. Часто для этого необходимо написать письмо на тех отдел и попросить открыть доступ для Вас с других машин.
Хотя у меня сайт вообще не читается.

volgeras 10.09.2010 18:24

Ответ: HTTP-протокол. ACCESS DENIED
 
Вложений: 1
Я с этим сам уже до такой степени замучился. вот до чего дошел(тебе помочь может, но есть проблемы небольшие, о них далее):
Код:

tcp = HttpGet("myag.forsite.org","/SB_r.php")
While Not Eof(tcp)
        Print ReadLine$(tcp)
Wend
WaitKey()
End
CloseTCPStream(www)

Function HttpGet(server$,path$,port=80,proxy$="",proxyport=0)
  Local www
  If Len(proxy$) = 0 proxy$ = server$
  If proxyport = 0 proxyport = port
  www = OpenTCPStream(proxy$,proxyport)
  If www = False Return False
  WriteLine www,"GET http://" + server$ + ":" + port + path$ + " HTTP/1.1" + Chr$(13)+Chr$(10) + "Host: " + server$ + Chr$(13)+Chr$(10) + "User-Agent: blitzbasic" + Chr$(13)+Chr$(10) + "Accept: */*" + Chr$(13)+Chr$(10)
  Return www
End Function

Но работает не так как хотелось бы. Например страница мне выдает 1 строчку, а результат занимает много строк. Это не проблема, исправлю легко, просто думать уже не могу(еле это сделал). А вот реально помошь нужна в следующем. Мне выводится результат, последняя строка та, которая мне и нужна. Но блитц задумывается на 5-10 секунд и добавляет еще строку "0". Не пойму что это. Помогите пожалуйста, с этим разобраться.(на скрине синее главное что нужно, красное я не понимаю вообше откуда взялось, а желтое что не нужно):SOS:

cyberblut 11.09.2010 15:00

Ответ: HTTP-протокол. ACCESS DENIED
 
А не проще ли курл заюзать??

volgeras 11.09.2010 15:32

Ответ: HTTP-протокол. ACCESS DENIED
 
А что это?

cyberblut 11.09.2010 19:43

Ответ: HTTP-протокол. ACCESS DENIED
 
curl библиотека такая. удобная очень и кроссплатформенная. позволяет отправлять/получать данные по протоколу HTTP вплоть до отправки POST с аттачами. Есть бинды для БМакса (сам постоянно использую), думаю и для Б3Д можно нарыть.

volgeras 11.09.2010 21:36

Ответ: HTTP-протокол. ACCESS DENIED
 
А не кто не знает где взять? То, что я нашел чет не работает. Да и нашел не много.


Часовой пояс GMT +4, время: 22:27.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot