Ребятки, давненько писал программку, которая обрабатывает пакет и отправляет его с моими данными,
пакет "TCP server ". Так вот, раньше всё отлично работало, я с лёгкостью пробивал IP ресурса и подставлял в запрос этот IP.
На данный момент, я столкнулся с такой трудностью, что все, мне знакомые ресурсы, когда заходишь
не
domen.ru, потом, например банально пингуем сайт или пробиваем через who.is или 2ip.ru, узнаём его IP. он выдаёт 90.90.90.90
вбиваем IP в строке браузера и вуаля, он выдаёт страницу с сервера с тех.информацией. Тех поддержка, не отвечает на поставленные вопросы, как сделать так, что бы вбивая
1)domen.ru и 2)90.90.90.90 выдавало одно и то же.
примером служит ресурс hostia.ru, там ранее такое работало и пусть IP был динамический, но все ровно работало, вбивая тот же динамический IP в строке браузера открывало сам сайт...
я так думал, что выделенный IP купить, даже покупал (уже не помню на каком ресурсе), там был выделенный IP, либо меня обманули, либо он был выделенный, но по итогам это не работает. результат один и тот же, но IP был статический.
Я знаю одно, что если найти IP ресурса ya.ru и пройти по нему в браузере через 80 порт, то выдаёт одно и то же
Вопрос в следующем, как мне осуществить отправку пакетов с данными используя пакет TCP сервер или TCP client, зная только доменное имя "domen.ru", без обращений к IP? или есть альтернативный способ? заставить отправлять программу пакеты?
неужели никто не сталкивался?
Этот топик читают: Гость
Ответов: 8
Рейтинг: 0
|
|||
карма: 1 |
|
Ответов: 655
Рейтинг: 18
|
|||
отправку данных при помощи каких-либо пакетов TCP сервер, сам понял что спросил?
Что значит выдавало одно и тоже? |
|||
карма: 0 |
|
Ответов: 8
Рейтинг: 0
|
|||
Gunnman писал(а): Что значит выдавало одно и тоже? при обращении в брайзерной строке по адресу " ya.ru" выдаёт страницу сайта если обнаружить его IP адрес, то мы узнаем его 213.180.204.3 если так же обратиться в брайзерной строке по адресу 213.180.204.3, он выдаёт страницу сайта. В общем, я сильно углубляюсь, мне нужно чтобы работал TCP сервер и я мог обычные сформированные пакеты обрабатывать с пометкой "OK" |
|||
карма: 1 |
|
Ответов: 655
Рейтинг: 18
|
|||
Так...что должна твоя программа получать при запросе к сайту? Страницу? Какие-то данные?
|
|||
карма: 0 |
|
Ответов: 4630
Рейтинг: 749
|
|||
gost_gost писал(а): сделать так, что бы вбивая
1)domen.ru и 2)90.90.90.90 выдавало одно и то же. Host: domen.ru
И отправить его на IP для domen.ru. Для приватных серверов, на которых только один сайт, запрос может выполняться корректно и без этого заголовка. Если такой заголовок не указан, то сервер и выдаёт в ответ служебную страницу. |
|||
карма: 26 |
|
Ответов: 8
Рейтинг: 0
|
|||
сейчас зарегаю сайт, проверим, у меня запрос такого типа:
POST http://domen.ru/set.php HTTP/1.1 Host: domen.ru User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 999 set.php?$set=hello кажется не ошибся с запросом. в общем вы видите, host был прописан с самого начала. может быть порекомендуете хостинг, пока не зарегистрировал, где такой кульбит работает? ------------ Дoбавленo в 18.58: Gunnman писал(а): Так...что должна твоя программа получать при запросе к сайту? Страницу? Какие-то данные? в общем, есть страница на сайте set.php она принимает данные через переменную set, скрипт на php банально всё сохраняет в текстовый файл на сервере, все что отправили. Ранее работало, решил покопаться в хиасме, интересно, сейчас не работает , мир изменился ------------ Дoбавленo в 22.29: ребята зарегал и создал файлик есть страница http://testdom.hhos.ru.s5.hhos.ru/?set=ТЕКСТ которая сохраняет текст в файле http://testdom.hhos.ru.s5.hhos.ru/test.txt его ИП после пинга - 5.9.89.100 |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
gost_gost писал(а): POST http://domen.ru/set.php HTTP/1.1
... set.php?$set=hello Правильно писать: POST /set.php HTTP/1.1
... set=hello&field1=val1&field2=val2 ... И с TCP_Client - лучше Connection: close А вообще, используй HTTPClient |
|||
карма: 26 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 6 раз(а), последний 2021-06-24 08:11:32 |
|||
карма: 0 |
|
Ответов: 8
Рейтинг: 0
|
|||
Что я делаю не так, выдает HTTP Нот фоунд
адрес сайта с переменной: http://testdom.hhos.ru.s5.hhos.ru/?set=testhiasm code_36929.txt ------------ Дoбавленo в 21.52: http client вообще не работает)) всё залил на тот же сервер... да уж... |
|||
карма: 1 |
| ||
файлы: 1 | code_36929.txt [1.6KB] [540] |
Ответов: 4630
Рейтинг: 749
|
|||
Потому что страницы set.php нет на том сервере.
|
|||
карма: 26 |
|
Ответов: 8
Рейтинг: 0
|
|||
Прошу прощения, правильно будет так:
code_36933.txt Дома как буду протестирую, но что-то сомнения меня берут) |
|||
карма: 1 |
| ||
файлы: 1 | code_36933.txt [1.6KB] [582] |
Ответов: 4630
Рейтинг: 749
|
|||
А Content-Length что, от фонаря ставил? Должен быть правильным.
А поскольку у тебя Accept-Encoding: gzip, deflate, то после приёма ответ нужно будет распаковать. Когда ты сразу подаешь ответ на Label, он не может быть отображен: Label отображает только печатаемые символы и то до первого байта 0. Хотя бы в Hex сконвертируй, чтобы увидеть, что приходит. gost_gost писал(а): http client вообще не работает))
|
|||
карма: 26 |
| ||
Голосовали: | gost_gost |
Ответов: 8
Рейтинг: 0
|
|||
Ура
в общем, последняя моя версия замечательно работает. та что выше )))) на tcp client не хочется углубляться в http client )) спасибо за поправки ) ------------ Дoбавленo в 08.21: Принцип работы TCP client Ребята, всё конечно замечательно, единственное не пойму как он работает, в том смысле, что если вписывать в строку 1111 - отправить 2222 - отправить 3333 - отправить 4444 - отправить 5555 - отправить с разницей в пару секунд, ну например 5-10 то в итоге вижу, что пришло 11, 33, 55 как -то странно не подскажите принцип работы. в программе надо прям сразу "создавать подключение" к серверу? и потом просто кнопкой "отправить" отправлять пакеты? будет ли программа постоянно держать подключение? или наоборот, каждый ра при нажатии кнопки "отправить" надо 1)сразу же создать подключение 2)отправить его 3)потом закрыть соединение и так каждый раз? как лучше будет? не нравится что половину пакетов не приходит. |
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Если Connection: close, то нужно отключаться, если Connection: keep-alive, то в одном соединении можно выполнять несколько запросов. Насколько долго сервер будет держать такое соединение - вероятно, зависит от сервера.
gost_gost писал(а): не хочется углубляться в http client )) |
|||
карма: 26 |
|
Ответов: 8
Рейтинг: 0
|
|||
даже так? несколько десятков мегабайт мой запрос может весить?)
кстати, а что лучше tcp client или tcp server? |
|||
карма: 1 |
|