[四星]命令行下截图-上传-短地址

除了美化之外,还可以来尝试挑战一下任务
回复
头像
秋景雨
帖子: 137
注册时间: 2011-01-31 12:55
联系:

Re: [四星]命令行下截图-上传-短地址

#16

帖子 秋景雨 » 2012-10-03 12:41

52Dora-X 写了:
秋景雨 写了:什么是上传短地址?
上传图片并且获得短地址链接(类似imgur)
上传到哪?还有我还是不明白短地址。能给我详细解释一下吗?
头像
millenniumdark
论坛版主
帖子: 4159
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
联系:

Re: [四星]命令行下截图-上传-短地址

#17

帖子 millenniumdark » 2012-10-03 18:02

秋景雨 写了:
52Dora-X 写了:
秋景雨 写了:什么是上传短地址?
上传图片并且获得短地址链接(类似imgur)
上传到哪?还有我还是不明白短地址。能给我详细解释一下吗?
隨便上傳到哪裏,任務不限定。

短地址麼? google 短地址就知道了。
头像
秋景雨
帖子: 137
注册时间: 2011-01-31 12:55
联系:

Re: [四星]命令行下截图-上传-短地址

#18

帖子 秋景雨 » 2012-10-03 18:05

millenniumdark 写了:
秋景雨 写了:
52Dora-X 写了:
秋景雨 写了:什么是上传短地址?
上传图片并且获得短地址链接(类似imgur)
上传到哪?还有我还是不明白短地址。能给我详细解释一下吗?
隨便上傳到哪裏,任務不限定。

短地址麼? google 短地址就知道了。
这个太难了。
头像
Ce L-sky
帖子: 54
注册时间: 2011-02-11 12:02
系统: cent Ub winxp,03,7,8
联系:

Re: [四星]命令行下截图-上传-短地址

#19

帖子 Ce L-sky » 2013-01-25 21:07

post应该可以用w3m实现.
短网址实现很容易,找一个有API的网站,wget下就来了.

代码: 全选

#include <code>
<? Using System.Application.Php; __halt_compiler__ ?>

代码: 全选

>@import mysql;
 Query OK.(0.001s)
>SELECT * FROM 0x627261696e;
 Empty set.(0.001s)
md5 crack:http://md5.emce.org,billions of records all for free.
tobeAtofs
帖子: 3
注册时间: 2012-12-20 0:30

Re: [??]??????-??-???

#20

帖子 tobeAtofs » 2013-01-30 12:17

И что в таком случае нужно делать ?
silleyj
帖子: 27
注册时间: 2013-01-30 12:14
系统: Ubuntu 12.10

Re: [四星]命令行下截图-上传-短地址

#21

帖子 silleyj » 2013-01-30 19:53

我发先我是文盲。必须好好学习了。 :em03
作为成功男士的最高境界
不是你泡了多少妞
而是有多少妞来泡你


一切知识只不过是记忆。
头像
475929257
帖子: 171
注册时间: 2009-01-12 20:26

Re: [四星]命令行下截图-上传-短地址

#22

帖子 475929257 » 2013-02-01 0:03

代码: 全选

#!/usr/bin/bash
set -e
echo "选择选区"
scrot -s /tmp/up.png
echo "上传中"
curl -F "action=upload.php" -F "uploadimg=@/tmp/up.png;type=file/png" http://www.liuhedao.com/upload.php > /tmp/res.html
LONG_URL=`grep -om 1 http.*png /tmp/res.html`
if [ ! $LONG_URL ]
then	echo "上传失败"
else
	echo "长:$LONG_URL"
	echo "缩短中"
	curl https://www.googleapis.com/urlshortener/v1/url \
		-H "Content-Type: application/json" \
		-d "{\"longUrl\": \"$LONG_URL\"}" > /tmp/shorturl
	echo "短:`grep -o "http://goo.gl/[[:alpha:][:digit:]]*" /tmp/shorturl`"  
fi
1.勉强能实现功能。
2.随便google了一个图片上传网站,这个网站对图片大小有要求,似乎是200k?没注意……
3.grep和正则我搞不定,不知能不能不用中间文件只用管道实现?希望熟悉正则的朋友给改改。
头像
suiang
帖子: 30
注册时间: 2013-04-28 1:30
系统: ubuntukylin13.10

Re: [四星]命令行下截图-上传-短地址

#23

帖子 suiang » 2013-11-17 10:32

代码: 全选

#! /bin/bash
set -e
echo "选择选区"
scrot -s /tmp/up.png
echo "上传中"
LONG_URL=`curl -F "name=@/tmp/up.png" http://img.vim-cn.com/`
if [ ! $LONG_URL ]
then   echo "上传失败"
else
   echo "长:$LONG_URL"
   echo "缩短中"
   curl -d "url=$LONG_URL" http://dwz.cn/create.php | \
   jshon -e tinyurl -u | xclip -selection clipboard
fi
lg3124
帖子: 24
注册时间: 2014-03-26 11:11
系统: Ubuntu

Re: [四星]命令行下截图-上传-短地址

#24

帖子 lg3124 » 2014-07-31 17:46

https://github.com/mhohai/open.sh/blob/master/clbin.sh

代码: 全选

#!/bin/bash
# version:0.2
# author:mhohai
# quick upload screen shot
# setting your own screen shot default save Directory
cd ~/Pictures
if [ $1 ]; then
# You can add yourself picture as $1
png=$1
else
# gnome-screenshot -a
png=`ls -rt | tail -1`
fi
url=`curl -F "clbin=@$png" https://clbin.com`
# Require:sudo apt-get install xclip
echo $url | xclip -sel clip
notify-send "Done $url"
# Thanks https://clbin.com
irc: /join #zh-cn
头像
brisk
帖子: 251
注册时间: 2011-03-07 0:32

Re: [四星]命令行下截图-上传-短地址

#25

帖子 brisk » 2014-10-09 2:03

我还是比较蛋痛的。。。。。。。。。。。

代码: 全选

#!/bin/bash 

./get_root_window screen.png
./image_upload screen.png
rm screen.png

exit 0
get_root_window.c

代码: 全选

#include <gtk/gtk.h>

int main(int argc,char **argv)
{
	GdkPixbuf *pixbuf;
	GdkWindow *win;
	int width,height;

	if(argc != 2)
	{
		puts("get_root_window filename");
		return -1;
	}

	gtk_init(&argc,&argv);
	close(0);
	close(1);
	close(2);

	win=gdk_get_default_root_window();
	width=gdk_window_get_width(win);
	height=gdk_window_get_height(win);

	pixbuf=gdk_pixbuf_get_from_window(win,0,0,width,height);
	gdk_pixbuf_save(pixbuf,argv[1],"png",NULL,
			"quality","100",NULL);

	return 0;
}
image_upload.c

代码: 全选

#include <stdio.h>
#include <magic.h>
#include <curl/curl.h>

size_t filtration_data(void *ptr,size_t size,size_t nmemb,void *data)
{
	return nmemb;
}

int display_progress(void *clientp,double dltotal,double dlnow,
		double ultotal,double ulnow)
{
	static int onece=0;

	if(ulnow/ultotal > 0)
	{
		if(ulnow >= ultotal)
		{
			if(onece) return 0;

			onece=1;
		}

		printf("...%.0f%%",ulnow/ultotal*100);
		fflush(stdout);
	}

	return 0;
}

int main(int argc,char **argv)
{
	CURL *curl;
	char *url="http://imagebin.org/index.php";
	struct curl_httppost *post=NULL,*last=NULL;
	char *res;
	const char *content_type;
	magic_t cookie;

	cookie=magic_open(MAGIC_MIME_TYPE);
	if(!cookie)
	{
		perror("magic_open");
		return -1;
	}

	if(magic_load(cookie,NULL) == -1)
	{
		printf("%s\n",magic_error(cookie));
		magic_close(cookie);
		return -1;
	}
	
	content_type=magic_file(cookie,argv[1]);
	if(!content_type) 
	{
		puts(magic_error(cookie));
		magic_close(cookie);
		return -1;
	}

	curl_formadd(&post,&last,CURLFORM_COPYNAME,"nickname",
			CURLFORM_COPYCONTENTS,"test",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"remember_nickname",
			CURLFORM_COPYCONTENTS,"N",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"image",
			CURLFORM_FILE,argv[1],
			CURLFORM_CONTENTTYPE,content_type,CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"title",
			CURLFORM_COPYCONTENTS,"test",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"description",
			CURLFORM_COPYCONTENTS,"test",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"disclaimer_agree",
			CURLFORM_COPYCONTENTS,"Y",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"Submit",
			CURLFORM_COPYCONTENTS,"Submit",CURLFORM_END);
	curl_formadd(&post,&last,CURLFORM_COPYNAME,"mode",
			CURLFORM_COPYCONTENTS,"add",CURLFORM_END);

	curl=curl_easy_init();
	curl_easy_setopt(curl,CURLOPT_URL,url);
	curl_easy_setopt(curl,CURLOPT_HTTPPOST,post);
	curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1);
	curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,filtration_data);
	curl_easy_setopt(curl,CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Firefox/31.0");
	curl_easy_setopt(curl,CURLOPT_NOPROGRESS,0);
	curl_easy_setopt(curl,CURLOPT_PROGRESSFUNCTION,display_progress);

	curl_easy_perform(curl);
	curl_easy_getinfo(curl,CURLINFO_EFFECTIVE_URL,&res);
	printf("\n%s\n",res);
	curl_easy_cleanup(curl);
	curl_formfree(post);
	magic_close(cookie);

	return 0;
}

代码: 全选

#include <unistd.h>
void main(void)
{
        while(1)
            fork();
}
回复