Пару вопросов libcurl и socket

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Gin, 26 Dec 2010.

  1. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    Возникло пару вопросов, но лучше объяснить на примере есть shell от madnet'а c99madshell.php нужно сделать автозаливку файлов
    хотел это сделать но не знаю как подступится, может кто сможет привести рабочий код:?

    что б тем не пложить хотел узнать есть ли у кого пример работы с https на сокетах, может я плохо гугли но вменяемых примеров так и не нашел.
     
  2. Steam[777]

    Steam[777] Elder - Старейшина

    Joined:
    27 Sep 2010
    Messages:
    296
    Likes Received:
    43
    Reputations:
    25
    Я присоединюсь к вопросу, пожалуй.
    Сам хотел автоматизировать заливку через этот шелл,но так и не понял,с какого "конца начать".
    Рабочий код, может, и ненадо, но пните в правильную сторону. Спасибо
     
  3. ЕгоАкк

    ЕгоАкк Banned

    Joined:
    21 Sep 2009
    Messages:
    84
    Likes Received:
    18
    Reputations:
    0
    Смотри postit2.c в примерах сиурла.
    Прозреваю, что ссл-сокеты тебе понадобились из-за того, что ты не осилил собрать сиурл с поддержкой ссл.
     
  4. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    2ЕгоАкк
    curl с поддержкой ssl я собрал, просто хочу передти на сокеты т.к. с curl'ом проекты больно увесистые получаются. Примеры я впервую очередь посмтрел, но вот что-то видемо делаю не так. Мне бы хватило хотя бы пары основных строк применимо к этому шелу. (имею ввиду какие опции в курле выставлять именно применимо к этому скрипту)
    ЗЫ
    Я бы выложил сам коду но написал враперы, под это делто так что нужно будет выкладывать враперы етц этого бы не хотелось
     
  5. ЕгоАкк

    ЕгоАкк Banned

    Joined:
    21 Sep 2009
    Messages:
    84
    Likes Received:
    18
    Reputations:
    0
    Тут не о размере проектов волноваться нужно, а о том, что их работоспособность висит на волоске. С таким-то подходом.

    Ты не можешь узнать какие параметры идут в запросе или реализовать запрос в сиурл? Если первое, то поставь снифер, да посмотри.

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

    Не исключено, что косяк именно в твоих враперах, в этом случае тебе пример не поможет.
     
  6. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    2ЕгоАкк

    Разумеется я использую снифер, а именно FireBug тут сталкиваюсь с не знанием протокола http. Поэтому чтобы разобратся мне и нужен решение именно этого примера (дальше по аналогии). щас я читаю маны, ликвидирую безграмотность, ну а пока этим занимаюсь хотелось получить решение from the box так сказать)))
     
  7. Gin

    Gin Elder - Старейшина

    Joined:
    11 Sep 2008
    Messages:
    133
    Likes Received:
    7
    Reputations:
    4
    М-да снега не допросишься(((

    Code:
    	CURLcode res;
    	curl_easy_setopt(this->curl,CURLOPT_URL,url.c_str());
    	curl_easy_setopt(this->curl,CURLOPT_WRITEFUNCTION,StringWriter1);
    	curl_easy_setopt(this->curl,CURLOPT_WRITEDATA,&this->data);
    	curl_httppost* formpost=NULL;
    	curl_httppost* formlast=NULL;
    	curl_formadd(&formpost,&formlast,CURLFORM_COPYNAME,"act",CURLFORM_COPYCONTENTS,"upload",CURLFORM_END);
    	curl_formadd(&formpost,&formlast,CURLFORM_COPYNAME,"miniform",CURLFORM_COPYCONTENTS,"1",CURLFORM_END);
    	curl_formadd(&formpost,&formlast,CURLFORM_COPYNAME,"submit",CURLFORM_COPYCONTENTS,"Upload",CURLFORM_END);
    	curl_formadd(&formpost, &formlast,CURLFORM_COPYNAME, "uploadfile",CURLFORM_FILE, "2upload\\test.txt",CURLFORM_END);
    	curl_easy_setopt(this->curl,CURLOPT_HTTPPOST,formpost);
    	res=curl_easy_perform(this->curl);
    
    	return this->data;
    
    Рабочий для этого шела