青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

goldendict的網頁版有道詞典,失敗了!

Posted on 2012-03-17 17:38 Onway 閱讀(1249) 評論(0)  編輯 收藏 引用 所屬分類: 碼兒快跑
其實在瀏覽器看到是正常的,但是通過goldendict訪問就不行了,主要表現是導航條工作不正常,不能隱藏,和頁面底下出現的一大片空白。如圖:
 




/Files/Onway/eyoudao-web.tar.gz.rar


gyd-server.c
#include <sys/types.h>
#include 
<sys/socket.h>
#include 
<sys/stat.h>
#include 
<unistd.h>
#include 
<stdio.h>
#include 
<stdlib.h>
#include 
<string.h>
#include 
<arpa/inet.h>
#include 
<fcntl.h>
#include 
<pthread.h>

#define PROT 10000
#define ADDRESS "127.0.0.1"
#define BACKLOG 20
#define BUFSIZE 4096

/*    互斥量,用于各個線程的標準輸出    */
pthread_mutex_t 
lock = PTHREAD_MUTEX_INITIALIZER;
struct clientinfo
{
    
int sockfd;    /*    客戶端套接字    */
    
int sockno;    /*    客戶端請求順序號    */
};

int create_server_socket();
void* handle_request(void*);
int send_dynamic(struct clientinfo*,char*);    /*    通過dynamic.bash返回的結果    */
int send_static(struct clientinfo*,char*);    /*    直接讀文件發送    */
void print_msg(int,const char*);            /*    標準輸出    */


int
main(
int argc,char *argv[])
{
    
int serverfd;
    
int count = 0;
    pthread_t ptid;
    
struct clientinfo *cinfo;

    
/*    創建監聽套接字    */
    serverfd 
= create_server_socket();
    
if (serverfd == -1) {
        printf(
"main(): terminate\n");
        
return -1;
    }

    
while (1) {
        cinfo 
= (struct clientinfo*) malloc (sizeof(struct clientinfo));
        cinfo
->sockfd = accept(serverfd,NULL,NULL);
        cinfo
->sockno = ++count;
        pthread_create(
&ptid,NULL,handle_request,(void*)cinfo);
    }

    
return 0;
}

int 
create_server_socket()
{
    
int tmpfd = socket(AF_INET,SOCK_STREAM,0);
    
if (tmpfd == -1) {
        printf(
"create_server_socket(): socket error\n");
        
return -1;
    }

    
struct sockaddr_in svraddr;
    bzero(
&svraddr,sizeof(svraddr));
    svraddr.sin_family 
= AF_INET;
    svraddr.sin_port 
= htons(PROT);
    svraddr.sin_addr.s_addr 
= inet_addr(ADDRESS);

    
if (bind(tmpfd,(struct sockaddr*)&svraddr,sizeof(svraddr)) == -1) {
        printf(
"create_server_socket(): bind error\n");
        
return -1;
    }

    
if (listen(tmpfd,BACKLOG) == -1) {
        printf(
"create_server_socket(): listen error\n");
        
return -1;
    }
    
    
return tmpfd;
}

void*
handle_request(
void *info)
{
    
struct clientinfo *cinfo = (struct clientinfo*) info;
    
char receive[BUFSIZE << 1= "";
    
char method[BUFSIZE] = "",request[BUFSIZE] = "";
    
char header[] = "HTTP/1.1 200 OK\r\nconnection:close\r\n\r\n";
    
int i;

    
if (recv(cinfo->sockfd,receive,BUFSIZE << 1,0< 0) {
        print_msg(cinfo
->sockno,"handle_request(): recv error");
        
return ( (void*0);
    }
    
/*    回應報頭    */
    write(cinfo
->sockfd,header,strlen(header));

    
/*    請求方法和參數的簡單檢測    */
    sscanf(receive,
"%s%s",method,request);
    
if (strcmp(method,"GET")) {
        print_msg(cinfo
->sockno,"handle_request(): method is not GET");
        
return ( (void*0);
    }

    
if (strlen(request) < 8) {
        print_msg(cinfo
->sockno,"handle_request(): unknow request");
        
goto end;
    }
    print_msg(cinfo
->sockno,receive);

    
/*    請求dynamic.bash    */
    
if (strncmp(request,"/action?",8== 0) {
        send_dynamic(cinfo,request);
        
goto end;
    }
    send_static(cinfo,request);

end:
    close(cinfo
->sockfd);
    free(cinfo);
    
return ( (void*0);
}

int
send_static(
struct clientinfo *cinfo,char *request)
{
    
int len = strlen(request);
    
char path[1024],buf[BUFSIZE];
    
int fd,bytes;
    
/*    忽略開頭的'/'符號    */
    sscanf(request,
"%*c%s",path);
    
    
/*    文件讀取    */
    fd 
= open(path,O_RDONLY);
    
if (fd == -1) {
        print_msg(cinfo
->sockno,"send_static(): open error");
        
return 1;
    }
    
while ((bytes = read(fd,buf,4096)) > 0) {
        write(cinfo
->sockfd,buf,bytes);
    }
    close(fd);
    
return 0;
}

int
send_dynamic(
struct clientinfo *cinfo,char *request)
{
    
char cmd[BUFSIZE],arg[1024],line[BUFSIZE];
    FILE 
*fpin;
    
/*    忽略action?    */
    sscanf(request,
"%*[^?]%*c%s",arg);
    sprintf(cmd,
"./dynamic.bash \"%s\"",arg);

    
/*    從popen返回的FILE指針讀取內容發送    */
    
int cnt = 0;
    
if ((fpin = popen(cmd,"r")) == NULL) {
        print_msg(cinfo
->sockno,"send_dynamic(): popen error");
        
return 1;
    }
    
while (fgets(line,BUFSIZE,fpin) != NULL) {
        write(cinfo
->sockfd,line,strlen(line));
    }
    pclose(fpin);
    
return 0;
}

void
print_msg(
int no,const char *msg)
{
    pthread_mutex_lock(
&lock);
    printf(
"request: %d\n%s\n\n",no,msg);
    pthread_mutex_unlock(
&lock);
}

dynamic.bash
#!/bin/bash

xmldetail
="http://dict.youdao.com/search?keyfrom=deskdict.main&xmlDetail=true&doctype=xml&xmlVersion=7.1&dogVersion=1.0&client=deskdict&appVer=5.0.32.4695&xslVer=3.0&q="
xsldetail
="detail/result.xsl"
xmlsimple
=""
xslsimple
=""

check_in_book() {
    # 截斷開頭結尾的空格,將中間的連續空格換成一個空格
    word
="`echo $1 | sed 's/^\(%20\)\+//g' | sed 's/\(%20\)\+$//g' | sed 's/\(%20\)\+/ /g'`"
    cut 
-';' -1 wordsbook | grep -"^$word$"
    [ $
? == 0 ] && echo 1 || echo 0
}

add_to_book() {
    word
="`echo $1 | sed 's/^\(%20\)\+//g' | sed 's/\(%20\)\+$//g' | sed 's/\(%20\)\+/ /g'`"
    t
="`date +'%y-%m-%d %H:%M'`"
    echo 
"$word;$t;" >> wordsbook
    echo 
1
}

send_response() {
    # $1為:inbook
=queryword或者detail=queryword等形式
action
=${1%=*}
target
=${1#*=}

case $action in
    
"inbook")
        check_in_book 
"$target"
        ;;
    
"tobook")
        add_to_book 
"$target"
        ;;
    
"detail")
        .
/xslt "-xmlapi" "$xmldetail" "-xslapi" "$xsldetail" "-keyword" "$target" | sed '$d' 
        ;;
    
"simple")
        ;;
    
*)
        exit 
1
        ;;
esac
}

send_response 
"$1"
exit 
0
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精选91| 国产三级精品在线不卡| 亚洲日本国产| 久久久久国产精品www| 亚洲欧美日韩国产中文 | 久久九九电影| 久久久99精品免费观看不卡| 久久精品一区二区| 老牛国产精品一区的观看方式| 久久久久中文| 欧美日韩裸体免费视频| 国产欧美在线播放| 亚洲精品乱码久久久久久蜜桃91| 在线亚洲电影| 麻豆av一区二区三区| 亚洲狠狠婷婷| 亚洲一区制服诱惑| 久久女同互慰一区二区三区| 欧美激情精品久久久久久大尺度| 国产精品v亚洲精品v日韩精品| 国产日韩欧美在线看| 亚洲人成网站影音先锋播放| 亚洲一区二区三区四区五区黄| 久久久999精品| 日韩视频一区| 免费在线观看日韩欧美| 国产精品美女久久久久av超清 | 欧美成人一区在线| 国产日韩久久| 亚洲在线成人| 91久久精品一区二区三区| 午夜精品免费视频| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲综合欧美| 免费观看日韩av| 国产美女扒开尿口久久久| 最新国产成人在线观看| 久久九九国产| 一本色道久久88亚洲综合88| 久久综合久色欧美综合狠狠| 国产精品专区h在线观看| 日韩香蕉视频| 亚洲二区三区四区| 久久免费国产精品1| 国产欧美日韩精品一区| 亚洲欧美日韩精品在线| 99国产精品久久久久久久| 免费观看久久久4p| 亚洲国产精品久久久久秋霞蜜臀 | 国产精品久久久久久久免费软件| 91久久久久久国产精品| 麻豆成人在线观看| 久久久久久香蕉网| 狠狠干综合网| 美国成人毛片| 久久久久久夜| **性色生活片久久毛片| 免播放器亚洲一区| 久久久久久久一区二区| 在线免费高清一区二区三区| 久久综合九色综合欧美狠狠| 久久精品论坛| 亚洲国产日韩欧美| 最新亚洲视频| 欧美三级日韩三级国产三级| 亚洲性夜色噜噜噜7777| 亚洲尤物视频网| 国内精品久久久久久影视8 | 亚洲特黄一级片| 中文久久乱码一区二区| 国产精品视频xxx| 久久精品91久久久久久再现| 欧美一区二区三区的| 激情伊人五月天久久综合| 麻豆成人在线播放| 欧美精品在线观看播放| 亚洲欧美日韩精品久久久久| 欧美亚洲自偷自偷| 在线观看成人小视频| 91久久精品国产91性色| 欧美日韩国产在线看| 欧美亚洲专区| 免费不卡视频| 亚洲中字在线| 欧美福利视频一区| 你懂的成人av| 欧美另类视频在线| 欧美一区二区视频网站| 久久婷婷蜜乳一本欲蜜臀| 日韩午夜电影av| 午夜精品免费在线| 亚洲高清自拍| 一区二区三区视频观看| 国产欧美一区二区三区国产幕精品| 久久久久国产一区二区三区| 裸体丰满少妇做受久久99精品| 亚洲精品免费观看| 午夜精品一区二区三区在线播放 | 亚洲一区二区三区涩| 极品av少妇一区二区| 夜夜嗨av色综合久久久综合网| 国产一区二区三区免费观看| 亚洲二区在线观看| 国产日韩欧美一二三区| 日韩午夜免费| 最新成人av网站| 欧美一区二区三区久久精品茉莉花 | 久色婷婷小香蕉久久| 欧美日韩成人网| 免费亚洲婷婷| 国产日韩视频一区二区三区| 亚洲日本欧美在线| 在线观看欧美| 欧美在线视频一区二区| 亚洲综合色丁香婷婷六月图片| 六月丁香综合| 另类春色校园亚洲| 国产自产女人91一区在线观看| 亚洲婷婷在线| 亚洲欧美国产另类| 欧美日韩在线电影| 亚洲日本va午夜在线影院| 亚洲国产成人久久| 另类专区欧美制服同性| 欧美成人一区二免费视频软件| 国产自产2019最新不卡| 性久久久久久久| 久久国产精品久久久久久电车| 欧美三日本三级三级在线播放| 91久久久久久久久| 亚洲精品人人| 欧美高清一区| 亚洲黄色在线看| 亚洲精品国久久99热| 久久综合999| 女同一区二区| 亚洲欧洲日本国产| 欧美激情一区二区三区在线| 欧美国产日本| 99成人精品| 国产精品家教| 小处雏高清一区二区三区| 久久精品盗摄| 久久综合图片| 久久精品91| 国产精品一区=区| 亚洲欧美日韩国产综合在线| 欧美一区成人| 韩日欧美一区| 麻豆av一区二区三区| 亚洲二区在线| 亚洲视频在线一区观看| 国产精品一区二区你懂得| 欧美一二三区在线观看| 可以看av的网站久久看| 在线观看国产成人av片| 欧美激情视频一区二区三区在线播放| 夜夜躁日日躁狠狠久久88av| 亚洲免费在线观看| 国产一区二区三区免费不卡 | 红桃视频一区| 欧美华人在线视频| 亚洲综合色自拍一区| 久久亚洲一区二区三区四区| 最新日韩在线| 国产精品美女在线观看| 久久琪琪电影院| 亚洲乱码国产乱码精品精| 亚洲欧美亚洲| 亚洲黄色性网站| 国产美女诱惑一区二区| 免费不卡中文字幕视频| 亚洲女ⅴideoshd黑人| 欧美成人午夜剧场免费观看| 午夜精品久久久久久久久久久久久 | 亚洲免费在线| 亚洲人成亚洲人成在线观看图片 | 日韩视频精品在线观看| 国产欧美一区二区精品忘忧草 | 精品999网站| 国产精品chinese| 久热综合在线亚洲精品| 亚洲欧美精品| 一本色道久久综合亚洲精品按摩| 久久人人爽人人爽爽久久| 这里只有视频精品| 亚洲国产精品视频| 国产日产欧美a一级在线| 欧美激情精品久久久久久黑人| 欧美专区18| 亚洲在线成人精品| 国产精品日韩一区二区| 久久精品国产亚洲a| 亚洲图片欧洲图片av| 亚洲人成人一区二区三区| 免费高清在线视频一区·| 久久精品国产亚洲高清剧情介绍| 亚洲天堂av在线免费| 一区二区三区四区五区在线| 亚洲精品视频一区|