PDA

Просмотр полной версии : [C, Win32Api, cJSON, WinInet & WinSocket] Получение IP адреса и информации о нём


DolgorukovGTA
01.06.2020, 14:42
Репозиторий на GitHub (https://github.com/DolgorukovGTA/IP-info)

Есть WinSocket и WinInet реализация. Выберите, какая Вам по душе.

Метод по возможности будет дорабатываться.

Если Вы нашли баг или недочёт, свяжитесь со мной.

Azller Lollison
01.06.2020, 14:57
а нахуя собственно все эти ваши вининеты когда можно заюзать сокет? взял приконнектился, отправил хттп запрос, ебнул ресив и распарсил ответ, подойдет под все платформы епт

DolgorukovGTA
01.06.2020, 15:05
а нахуя собственно все эти ваши вининеты когда можно заюзать сокет? взял приконнектился, отправил хттп запрос, ебнул ресив и распарсил ответ, подойдет под все платформы епт


С таким неграмотным человеком общаться даже не собираюсь.

Azller Lollison
01.06.2020, 15:12
С таким неграмотным человеком общаться даже не собираюсь.


ясно, нуб на вопрос ответить не может

DolgorukovGTA
01.06.2020, 15:15
ясно, нуб на вопрос ответить не может


Ну, оставайся при своём мнении. Видишь другой способ реализации задачи, тебе никто не мешает дополнить эту статью.

Azller Lollison
01.06.2020, 15:16
оставайся при своё мнении


С таким неграмотным человеком общаться даже не собираюсь.

😉

DolgorukovGTA
01.06.2020, 15:18
С таким неграмотным человеком общаться даже не собираюсь.
😉


Исправил.

winten
01.06.2020, 20:30
Вместо

Python:






data
=
json
.
loads
(
result
.
text
)




можно

Python:






data
=
result
.
json
(
)




Минус одна зависимость

DolgorukovGTA
01.06.2020, 22:22
Вместо

Python:






data
=
json
.
loads
(
result
.
text
)




можно

Python:






data
=
result
.
json
(
)




Минус одна зависимость


Я не питонист и не вникал в этот язык, я написал код на python для проверки. Этот способ всё равно посвящен Си. Можно умников ловить хоть сколько таких, каждый по-разному мыслит и по-разному код оформляет и у каждого свои идеалы. Мой же код справляется успешно с поставленной задачей. В этом треде логичнее было бы обсуждать Си-способ. Но за сообразительность поставлю тебе симпашку

Dark_Knight
03.06.2020, 07:09
когда можно заюзать сокет?


Тогда лучше уже cpr заюзать или чистый curl, если ты уже говоришь о кроссплатформености?



Я не питонист


Тогда зачем ты лезешь в питон? И чего не юзаешь WInSDK бляха и подключаешь локально wininet?

Зачем юзать С, когда проще заюзать плюсы, которые банально помогут проще не словить nullptr




https://forum.antichat.xyz/attachments/27506872/

Quasper
03.06.2020, 07:35
Вот (https://www.blast.hk/redirect/aHR0cDovL2lwLWFwaS5jb20) тебе ещё подобный сайтик, только возвращает более развёрнутый ответ о твоём IP'шнике(В зависимости от переданных параметров в запросе)

DolgorukovGTA
03.06.2020, 11:56
Тогда зачем ты лезешь в питон? И чего не юзаешь WInSDK бляха и подключаешь локально wininet?
Зачем юзать С, когда проще заюзать плюсы, которые банально помогут проще не словить nullptr


А где я в него полез? Я на нём код написал, как шаблон. Чтобы потом иметь представление о дальнейших действиях. Плюс код на питоне сделан был быстрее. Если плохо со чтением, то перечитай. Я кодю больше на Си, а не на плюсах. Я так понял, на бх что не выложи, то обязательно будет обосрано?

Ты же видишь, что идут проверки на описатели при ветвлении. Вместо nullptr в Си используют NULL (это максрос на (void*)0).



Вот (https://www.blast.hk/redirect/aHR0cDovL2lwLWFwaS5jb20) тебе ещё подобный сайтик, только возвращает более развёрнутый ответ о твоём IP'шнике(В зависимости от переданных параметров в запросе)


Я смотрю, но он возвращает информацию по запросу, где в ссылку вставляется ip или домен. Т.е мне нужно сначала получить ip моим способом, а потом туда вставлять?

BASS_DEVSOFTWARE
03.06.2020, 13:23
А где я в него полез? Я на нём код написал, как шаблон. Чтобы потом иметь представление о дальнейших действиях. Плюс код на питоне сделан был быстрее. Если плохо со чтением, то перечитай. Я кодю больше на Си, а не на плюсах. Я так понял, на бх что не выложи, то обязательно будет обосрано?


Я так понял, что кому-то нужно научится воспринимать критику не как личное оскорбление, а как повод ещё кое-чему научится.

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

Не будь обиженкой, стремись стать этим стариком!

Dark_Knight
03.06.2020, 14:03
Я кодю больше на Си, а не на плюсах. Я так понял, на бх что не выложи, то обязательно будет обосрано?


Неа. Это я просто такой. Не обижайся) Я любя все это говорю с иронией и сатирой(хотя редко кто это от меня понимает). Я иногда могу немного с преувеличением говорить. То что кодишь на С - это хорошо ибо куда тебе проще будет разбираться в некоторых аспектах работы программ. А тригернуло меня больше из-за локального инклуда, который обычно используется, как глобальный. Парсинг json'a еще тот геморой на плюсах даже, а вот если тебе надо будет работать с динамическим json'ом, то уже уже я бы советовал поискать либы для этого ибо с ними куда проще работатью

DolgorukovGTA
03.06.2020, 14:05
Неа. Это я просто такой. Не обижайся) Я любя все это говорю с иронией и сатирой(хотя редко кто это от меня понимает). Я иногда могу немного с преувеличением говорить. То что кодишь на С - это хорошо ибо куда тебе проще будет разбираться в некоторых аспектах работы программ. А тригернуло меня больше из-за локального инклуда, который обычно используется, как глобальный. Парсинг json'a еще тот геморой на плюсах даже, а вот если тебе надо будет работать с динамическим json'ом, то уже уже я бы советовал поискать либы для этого ибо с ними куда проще работатью


Да, насчёт динамического json'a согласен с библиотекой. Какой ещё локальный include? Поясни за это, очень непонятно



Я так понял, что кому-то нужно научится воспринимать критику не как личное оскорбление, а как повод ещё кое-чему научится.
Ведь так в программировании будет всегда. Такое может случится с каждым кодером, который выставит свой код на всеобщее обозрение и его заприметят старики, которые в свою очередь объяснят почему ты и твой код дерьмо.
Не будь обиженкой, стремись стать этим стариком!


А разве старики на Си не кодят?

Даже не знал, что я такой хаповый человек. Хотя я таким себя не считаю, не знал, что на такой простой способ слетится столько народу. Делаем выводы, что то ли Вы мою работу цените, то ли он действительно годный.

Quasper
03.06.2020, 14:08
Я смотрю, но он возвращает информацию по запросу, где в ссылку вставляется ip или домен. Т.е мне нужно сначала получить ip моим способом, а потом туда вставлять?


нет, указываешь какие параметры тебе нужны по типу latitude, longtitude, countrycode и прочее и тебе всё это придёт ответом. Так же можешь через него пробить информацию по нужному тебе айпишнику и опять же через запрос)

DolgorukovGTA
03.06.2020, 14:09
Так же можешь через него пробить информацию по нужному тебе айпишнику и опять же через запрос)


Про это понял.

Quasper
03.06.2020, 14:14
Про это понял.


так же ещё можешь настроить статическую ссылку которая будет возвращать нужные параметры по типу




https://forum.antichat.xyz/attachments/27507013/


короче в документации по сайту пороешься) годная темка

DolgorukovGTA
03.06.2020, 14:15
так же ещё можешь настроить статическую ссылку которая будет возвращать нужные параметры по типу





короче в документации по сайту пороешься) годная темка


Вижу, очень годно, благодарю! Где ты был раньше....

UPD 04.06: Репозиторий обновлен. Сейчас работаю над изменением запроса под новый сайт, выводящий более подробнуюю информацию об адресе.

DolgorukovGTA
05.06.2020, 13:34
UPD 05.06: Переезд на новый сайт! Так же для парсинга была подключена библиотека (см. репозиторий). 🥳 🥳 🥳

DolgorukovGTA
10.06.2020, 12:12
Добавлена реализация через сокеты. Если будут происходить поправки, изменения, буду стараться информировать Вас здесь. Следите за репозиторием.

P.s: @Azller Lollison (https://www.blast.hk/members/143311/) ты доволен?

barspinoff
11.06.2020, 17:36
Добавлена реализация через сокеты. Если будут происходить поправки, изменения, буду стараться информировать Вас здесь. Следите за репозиторием.
P.s: @Azller Lollison (https://www.blast.hk/members/143311/) ты доволен?


Отлично, осталось ещё добавить поддержку SSL в этой реализации