File: pingurl.c

package info (click to toggle)
netcdf 1:4.7.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 104,952 kB
  • sloc: ansic: 228,683; sh: 10,980; yacc: 2,561; makefile: 1,319; lex: 1,173; xml: 173; awk: 2
file content (60 lines) | stat: -rw-r--r-- 1,154 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*! \file

Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014,
2015, 2016, 2017, 2018
University Corporation for Atmospheric Research/Unidata.

See \ref copyright file for more info.

*/
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "nctestserver.h"

#define PINGTIME 25

/**
usage: pingurl <svc>
See if a specific server at a given url appears to be up.
*/

static void
usage()
{
    fprintf(stderr,"usage: pingurl <svc>\n");
    exit(1);
}


int
main(int argc, char** argv)
{
    char url[MAXSERVERURL+1];
    int found = 0;
    int ishttps = 0;

    argc--; argv++;
    if(argc < 1)
	usage();
 
    /* Try http: first */
    snprintf(url,MAXSERVERURL,"http://%s",argv[0]);
    if(timedping(url,PINGTIME) == NC_NOERR) 
	found = 1;
    else {
	/* Try https: next */
        snprintf(url,MAXSERVERURL,"https://%s",argv[0]);
	if(timedping(url,PINGTIME) == NC_NOERR) {
	    found = 1;
	    ishttps = 1;
	}
    }    
    if(found)
        printf((ishttps?"https\n":"http\n"));
    else
        printf("no\n");
    exit(0);
}